我正在编写的Java程序的一部分会询问用户的祖国。另一部分使用switch语句,我得到了一个错误。错误是:The operator || is undefined for the argument type(s) java.lang.String, java.lang.String。下面是出现问题的方法:
public static String getCountryMessage(String countryName) {
switch (countryName) {
case "USA":
return "Hello, ";
我在我的代码中使用了一个switch语句,它抛硬币并生成一个随机结果。如果硬币落在0上,它就显示反面;如果它落在1上,它就显示正面。但是,当我使用switch语句时,输出总是只有“head”,或者“tail”和“head”都有。
我的代码:
import static java.lang.System.*;
import java.util.*;
class generateRandomNumbers{
public static void main(String[] args){
Random coin = new Random();
int tos
以下java代码在Java 1.7中执行时没有出错
public static void main(String[] args) {
int x = 5;
switch(x) {
case 4:
int y = 3423432;
break;
case 5: {
y = 33;
}
}
}
java是如何发现y是一个int的,因为声明从未运行过。在case语句中不使用大括号时,case语句中的变量声明是否被限定为开关语句级别?
可能重复:
我将以c++为例,但我提出的问题并不是针对特定的语言。我是说总的来说。哪一种表现更好?这不是一个关于编程风格的问题。
当然,在某些情况下,开关语句可能比if语句更容易使用。但如果你想要最大限度的表现。比如,如果有数千行代码和超过10个可以被if语句替换的switch语句,那么哪个语句会带来更好的性能?
示例:
if(x == 6){
do this
}
if(x == 67){
do this * 2
}
if(x == 9000){
do this * 3
}
对
//Please forgive me if the syntax for the switch st
为什么,在Java中,变量的作用域仅限于开关块,而不是case块。例如,
// Scope limited to a switch block
switch (number) {
case 1:
String result = "...";
break;
case 2:
result = "...";
break;
在上面的例子中,结果只需要声明一次。如果您声明了它两次,那么您将收到一条Duplicate local variable消息。
我的问题是:程序如何知道您已经声明了result if number = 2?(它不会落入
今天,我发现了一个带有非常奇怪错误的堆栈。实际上,我可能是第一个得到这个(YAY!)的人,因为在发布这个问题之前,Google中唯一出现的“坏的稀疏开关魔法”是在Android源代码中出现的。
下面是堆栈跟踪(Android2.3.4)的部分:
java.lang.InternalError: bad sparse switch magic
at org.my.app.MyItemAdapter.(MyItemAdapter.java:64)
at org.my.app.MyActivity.onCreate(MyActivity.java:78)
退出MyItemAdapter构造函数时引发
Java在其Java7中引入了带有字符串的switch case。我想知道使用这样的开关是否会产生垃圾。
例如,在我的程序中,
String s = getString();
switch(s)
{
case ABC: // ABC is a final static constant
...
case CDE: // CDE is also final static constant.
...
}
java是如何执行这种切换的。假设有10个这样的开关情况。是否会在每次将string s与case ABC匹配时创建一个新字符串,以此类推?
如果是这种情况,它是
我有一个程序用来模拟一些概率问题(如果你感兴趣,这是monty hall问题的一个变体)。
代码期望在足够的迭代后产生50%的结果,但是在java中总是达到60% (即使在1000000次迭代之后),而在C#中它达到了预期的50%,是不是有一些不同的东西,我不知道java的随机数呢?
代码如下:
import java.util.Random;
public class main {
public static void main(String args[]) {
Random random = new Random();
int gamesPl
我的Java应用程序中的switch语句的最后一例总是命中。我怎样才能让它正常工作?
public void onClick(View v) {
Random r = new Random();
int x=r.nextInt(4-1) + 1;
switch (x)
{
case 1:
setContentView(R.layout.image1);
case 2:
setContentView(R.layout.image2);
case 3:
setContentView
我正在尝试使用IntelliJ (在Mac上)来编译我使用Eclipse编写的一些代码。我试图运行以下代码:
switch (category) {
case "below 20":
below20++;
break;
case "20 to 29":
to30++;
break;
case "30 to 39":
to40++;
break;
case "40 to 49":
to50+
在以下代码中:
private static void example() {
String inputString = "test";
switch (inputString) {
case "test":
String outputString = "The string said test";
case "not test":
String outputString = "The string did not say te
我找到了一种在Java中使用switch语句的有趣方法,但我无法捕捉所有的逻辑。
有人能帮助深入了解所有细节吗?
这是代码:
private static int counter = 0;
public static Shape randomFactory() {
int xVal = rand.nextInt(100);
int yVal = rand.nextInt(100);
int dim = rand.nextInt(100);
switch (counter++ % 3) {
default:
case 0:
r
我正在学习java,我在使用带有表达式的switch-case语句时遇到了问题。有人能帮帮我吗?我不能理解我在哪里犯了错。
package SecondSet_StartingArray;
import java.util.Scanner;
public class Testing
{
public static void main(String[] args) {
System.out.println("Enter a Number between 1 & 100");
Scanner scan = new Scanner(System
我已经反编译了一个非常简单的类,它使用了新的Java7字符串开关特性。
类:
public class StringSwitch {
public static void main(String[] args) {
final String color = "red";
switch (color) {
case "red":
System.out.println("IS RED!");
break;
我是Android Dev的初学者。我刚刚在字符串上使用switch case语句遇到了这个问题:
String str = "Hello";
switch (str) {
case "Hello":
System.out.println("case 1");break;
default:
System.out.println("default");break;
}
Eclispse日志:
Cannot switch on a value of type String for sourc
我对Java很陌生,我正在学习开关语句。然而,错误的情况(case "two")似乎是匹配的。我怀疑这是因为在Java之后缺少break;,但是有人能解释一下Java语句背后的逻辑吗?为什么在值不匹配的情况下case "two"是完全匹配的?
这是我的代码:
String a = "one";
switch(a) {
case "one": System.out.println("a is one");
case "two": System.out.println("a is
我正在学习react-native,我遇到了这个问题。我有一个listView.js类,其中包含一个ListView,我想在index.android.js中显示它,我得到的错误是
The development server returned response error code: 500
URL: http://10.0.2.2:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false
Body:
{"from":"D:\\ReactNative
我有一个带有switch语句的Java方法。
它工作得很好,但我有很多案例,可能有20个或更多,如下所示。
switch (result) // result is of type Enum
{
case 1:
break;
case 2:
break;
//----
//----
//----
default:
break;
} // End of Switch
请告诉我如何将这些案例转移到另一个文件中。
假设我用Java编写了代码 @Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getActionMasked()) {
case MotionEvent.ACTION_DOWN: {
if (something()) {
break;
}
// do more stuff here
在这里关于枚举的部分中,我注意到Java语言规范中的以下内容:
switch(this) {
case PLUS: return x + y;
case MINUS: return x - y;
case TIMES: return x * y;
case DIVIDE: return x / y;
}
throw new AssertionError("Unknown op: " + this);
但是,查看switch语句定义部分,我在任何地方都没有注意到这种特定的语法(相关的throw语句)。
我可以在枚举定义之外使用这种“默认情况是抛出异常”的语
我目前正在尝试创建一个switch语句,在使用getColor()时,键入字符串形式的颜色会将Color.red (或其他)的原色类型设置为可变颜色。如果我甚至不能正确地问这个问题,我提前道歉。我4周前开始编程。 public class ChooseAColor {
private Color color
//default color
public Color defaultColor(){
this.color = Color.red
public Color getColor(Color color){
switch (color){
case "