创建一个由字母A到Z组成的数组。然后通过键盘询问位置。

时间:2018-06-22 12:27:29

标签: java arrays

我被要求创建一个由字母A到Z组成的数组,然后通过键盘询问位置,如果位置正确,则将它们保存在字符串中。最后应插入-1以完成程序并打印结果字符串。

public static void main(String[] args) {
    //I print an array with letters from A-Z
    char abc[]=new char[26];
    for(int i=0; i<abc.length; i++) {
        abc[i]=(char)('A'+i);
    System.out.println(abc[i]);
    }
    //I ask for positions and save the results in a String
    do {
        String result="";
        Scanner sn = new Scanner(System.in);
        int num=sn.nextInt();

        result=result + abc[num];
        }while(num!=-1);    
}   
}

while循环不允许我写条件while(num!=-1)。我如何创建一个条件,允许我在插入-1之前一直插入自己想要的时间?

2 个答案:

答案 0 :(得分:0)

您应该将变量从循环范围中移出。这样做可以编写更清晰的代码,也可以将“ num = sn.nextInt()!= -1”构造用于“读取符号,直到写入'-1'为止”

public static void main(String[] args) {

    //I print an array with letters from A-Z
    char abc[]=new char[26];
    for(int i=0; i<abc.length; i++) {
        abc[i]=(char)('A'+i);
    System.out.println(abc[i]);
    }
    //I ask for positions and save the results in a String
    Scanner sn = new Scanner(System.in);
    int num;
    String result = "";

    while(num = sn.nextInt() != -1) {
        result = result + abc[num];
    }
    System.out.println(result);   
}

答案 1 :(得分:-3)

在while循环之前声明num变量。