有人可以告诉我为什么我没有得到这个代码贯穿for循环并通过每个循环增加变量i.我只是打印到程序软件上.
int i;
for(i = 0; i < 100; i++) {
switch(i) {
case 1:
case 2:
case 3:
case 4:
printf("x");
break;
case 0:
printf("y");
return 0;
break;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 出于某种原因,我的for循环没有运行,我似乎无法找出原因.它一直跳到return语句.谢谢.
public char[] palindromeCheck(char[] original) {
char[] reversed = new char[original.length];
for (int i = original.length; i <0; i--) {
switch (original[i]){
case 'A':
original[i] = Character.toLowerCase(original[i]);
break;
case 'E':
original[i] = Character.toLowerCase(original[i]);
break;
case 'I':
original[i] = Character.toLowerCase(original[i]);
break;
case 'O':
original[i] = Character.toLowerCase(original[i]);
break;
case 'U':
original[i] = Character.toLowerCase(original[i]);
break;
default:
original[i] = Character.toUpperCase(original[i]);
break;
}
reversed[i] = original[i];
}
return reversed;
}
Run Code Online (Sandbox Code Playgroud) 我在java中有switch case几个ints,并且在每个case我想要重新String[]设置方法开头的i设置,所以我不必创建几个String[]变量.
这是一个例子:
switch (datacontentprovider.sUriMatcher.match(uri)) {
case datacontentprovider.LOCATION:
String[] locationProjection = {
datacontentprovider.DatabaseHelper.COLUMN_LATITUDE,
datacontentprovider.DatabaseHelper.COLUMN_LONGITUDE,
datacontentprovider.DatabaseHelper.COLUMN_TIME,
datacontentprovider.DatabaseHelper.COLUMN_ACCURACY,
datacontentprovider.DatabaseHelper.COLUMN_PROVIDER };
break;
case datacontentprovider.PICTURE:
String[] pictureProjection = {
datacontentprovider.DatabaseHelper.COLUMN_PIC_LATITUDE,
datacontentprovider.DatabaseHelper.COLUMN_PIC_LONGITUDE,
datacontentprovider.DatabaseHelper.COLUMN_PIC_TIME,
datacontentprovider.DatabaseHelper.COLUMN_PIC_ACCURACY,
datacontentprovider.DatabaseHelper.COLUMN_PIC_URL };
break;
case datacontentprovider.ACCELEROMETER:
String[] accelerometerProjection = {
datacontentprovider.DatabaseHelper.COLUMN_ACCELEROMETER_X,
datacontentprovider.DatabaseHelper.COLUMN_ACCELEROMETER_Y,
datacontentprovider.DatabaseHelper.COLUMN_ACCELEROMETER_Z,
datacontentprovider.DatabaseHelper.COLUMN_ACCELEROMETER_TIME, };
break;
case datacontentprovider.SOUND:
String[] amplitudeProjection = {
datacontentprovider.DatabaseHelper.COLUMN_AMPLITUDE_AMPLITUDE,
datacontentprovider.DatabaseHelper.COLUMN_AMPLITUDE_TIME };
break;
case datacontentprovider.BATTERY:
String[] batteryProjection = {
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_STATUS,
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_ISCHARGING,
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_CHARGEPLUG,
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_USBCHARGE,
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_ACCHARGE,
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_LEVEL,
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_SCALE,
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_BATTERYPCT,
datacontentprovider.DatabaseHelper.COLUMN_BATTERY_TIME};
break; …Run Code Online (Sandbox Code Playgroud) 我已经尝试过对这个主题进行一些研究,但信息量却令人惊讶.我有一个switch语句,如果其中一个条件为真,我想要触发某个块.我可以用相同的块来检查每个条件,但它看起来有点多余.
case KeyEvent.VK_NUMPAD0:
//Identical Code
break;
case KeyEvent.VK_INSERT:
//Identical Code
break;
Run Code Online (Sandbox Code Playgroud)
有没有办法结合这两个语句,以避免重复相同的代码?
你能告诉我我的代码有什么问题吗?(我打赌这是愚蠢的,但我找不到..)

我的代码:
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
switch (item.getItemId()){
case R.id.action_go_home:
//go home action
Intent i = new Intent(this, UserProfileActivity.class);
startActivity(i);
return true;
break;
case R.id.action_select_categories:
//select categories
return true;
case R.id.action_refresh:
//refresh timeline
return true;
default :
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud) 每当用户键入2个整数并从+, - ,*,/中选择任何内容时,程序运行switch语句.问题是switch语句使第一个整数为0并根据该结果给出结果.
假设2个整数是4和8.用户选择+.程序给出的结果如此0 + 8 = 8.其他选项同样如此.
这是代码:
#include <stdio.h>
int main() {
int x,y;
char choice;
printf("Enter the first Integer:\n");
scanf("%d",&x);
printf("Enter the second Integer:\n");
scanf("%d",&y);
printf("Choose the action you want to perform\n")
scanf("%s",&choice);
switch(choice) {
case '+':
printf("\n%d + %d = %d",x,y,x+y);
break;
case '-':
printf("\n%d - %d = %d",x,y,x-y);
break;
case '*':
printf("\n%d * %d = %d",x,y,x*y);
break;
case '/':
if(y==0) {
printf("Undefined value\n");
} else {
printf("\n%d / %d = %d",x,y,x/y);
}
break;
default:
printf("\n …Run Code Online (Sandbox Code Playgroud) 注意:谢谢你告诉我,无论我怎么写,这都会毫无保留,我问的原因是因为它与我的大学任务类似,我想让我的讲师开心,是否有更"可读"代码或更好的东西,这将使我的讲师更快乐或这个代码是好的,而不是"低效".
我有一个关于我应该如何编写代码的问题,基本上我有一个switch语句,用于将char更改为特定的char,具体取决于它所处的内容.但是只有当亚麻布是一个奇数时才会改变(从0开始,所以每第二行都会选择一个新的字符).目前我的代码是......
int linenumber;
char zone = UNKNOWN;
for (linenumber = 0; linenumber < 21; linenumber++) {
switch (linenumber) {
case (1):
zone = 'a';
break;
case (3):
zone = 'b';
break;
case (5):
zone = 'c';
break;
case (7):
zone == 'd';
break;
case (9):
zone = 'e';
break;
case (11):
zone = 'f';
break;
case (13):
zone = 'g';
break;
case (15):
zone = 'h';
break;
case (17):
zone = 'i';
break;
case (19):
zone = 'j';
break; …Run Code Online (Sandbox Code Playgroud) 我正在尝试在java中创建一个switch语句,但即使我的语法正确Syntax error on token "{", SwitchLabels expected after this token,我也会收到此错误:我知道我可以使用语句,但我的老师告诉我使用switch,因为它看起来更漂亮,所以我要去使用开关.我试图移动input=scan.next()但是这给了我另一个错误
switch (true) {
input = scan.next();
case 1:
input.equals("T");
outToServer.writeBytes("T\r\n");
System.out.println(inFromServer.readLine());
break;
case 2:
input.equals("S");
outToServer.writeBytes("S\r\n");
System.out.println(inFromServer.readLine());
break;
case 3:
input.equals("Z");
outToServer.writeBytes("Z\r\n");
System.out.println(inFromServer.readLine());
break;
case 4:
input.equals("D");
System.out.println("Write a message");
text = scan.next();
outToServer.writeBytes("D " + text + "\r\n");
System.out.println(inFromServer.readLine());
break;
case 5:
input.equals("DW");
outToServer.writeBytes("DW\r\n");
System.out.println(inFromServer.readLine());
break;
case 6:
input.equals("RM20");
text = "RM20 4" + "\"" + text1 + "\" \"" + text2 + "\" \"" …Run Code Online (Sandbox Code Playgroud) 在使用return时,PHP switch语句是否可能不执行切换所需的结果?
这两个陈述有什么区别?
$foo = '2';
switch ($foo) {
case 1:
echo 1;
break;
case 2:
echo 2;
break;
}
Run Code Online (Sandbox Code Playgroud)
执行2
与
$foo = '2';
switch ($foo) {
case 1:
return 1;
break;
case 2:
return 2;
break;
}
Run Code Online (Sandbox Code Playgroud)
似乎没有用.
有没有办法让它发挥作用?
我需要修改一些在我使用的程序中运行的脚本.
脚本仅在具有X和Y轴的图表上以特定价格绘制水平线.每当我切换到新图表时,脚本将遍历所有语句,直到它到达与图表匹配的符号/名称,然后它将加载行.
我正在使用永无止境的"if else声明"来为我做一些尽可能简单的事情.我有650 if else语句,每个语句包含数百个"addlines".
符号名称之间没有关系,除了字母表中的字母.符号包含的所有价格/数字都是随机的.
但我正在寻找一个更好的解决方案,使其运行速度更快,效率更高,而不是使用其他650个if语句.我知道我使用的命令不一样,我只是概括.我希望有人能帮帮忙.
将Else if语句乘以650,即有多少.
var Symbol
if (Symbol == "AAB") {
addline(37.5);
addline(40.9);
addline(15.5);
addline(100.5);
etc....
} else if (Symbol == "ZOB") {
addline(15.8);
addline(20.9);
addline(100.5);
addline(200.5);
etc....
} else if (Symbol == "STX") {
addline(10.9);
addline(19.8);
addline(5.5);
addline(20.2);
etc....
} else if (Symbol == "AXI") {
addline(200);
addline(20);
addline(5.9);
addline(9.9);
etc....
} else if (Symbol == "AXI") {
ETC.....
}
return;
}
Run Code Online (Sandbox Code Playgroud) javascript iteration if-statement control-structure switch-statement
switch-statement ×10
java ×4
c ×3
android ×2
if-statement ×2
return ×2
case ×1
for-loop ×1
iteration ×1
javascript ×1
performance ×1
php ×1
string ×1