切换到for循环

时间:2014-04-19 16:45:29

标签: java for-loop switch-statement

我正在编写一个在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");
                }
            }
        }
       }
 }

2 个答案:

答案 0 :(得分:2)

这个

有两个错误
for (i=0;i==input.length();i++);//the misbehaving loop{
  1. i==input.length()应为i<input.length()
  2. for loop
  3. 之后不应该有;

    for (i=0;i==input.length();i++);应为for (i=0;i<input.length();i++)

答案 1 :(得分:0)

循环行为不正常,因为switch语句不是for循环的一部分。循环终止于声明它的位置。这是因为for循环旁边的;