我正在编写一个在for循环中有一个开关的java程序,并且该开关不会循环。代码如下:
import static java.lang.System.out;
import java.util.Scanner;
public class Translate {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
String input=null;
int i;
char letter;
do{
out.print("Enter a word to translate");
input=keyboard.next();
} while(input==null);
out.println(" ");//blank line, aesthetics.
for (i=0;i==input.length();i++);//the misbehaving loop{
letter=input.charAt(i);
switch(letter){
case 'a':{
out.print("(-)");
break;
}case 'b':{
out.print("(-|)");
break;
}case 'c':{
out.print("(-\\)");
break;
}case 'd':{
out.print("(|--)");
break;
}case 'e':{
out.print("(|||)");
break;
}case 'f':{
out.print("(|-)");
break;
}default:{
out.print("GOODBYE");
}
}
}
}
}
答案 0 :(得分:2)
这个
有两个错误for (i=0;i==input.length();i++);//the misbehaving loop{
i==input.length()
应为i<input.length()
;
醇>
for (i=0;i==input.length();i++);
应为for (i=0;i<input.length();i++)
答案 1 :(得分:0)
循环行为不正常,因为switch
语句不是for
循环的一部分。循环终止于声明它的位置。这是因为for循环旁边的;
。