首页 > 解决方案 > 关于带字符数组的 for 循环的基本问题(Java)

问题描述

我的任务是通过用户输入并将其转换为总和。想法是把所有的字母都改成对应的数字,如ina = 1等。

非常基本的东西,但我不知所措,我的想法是将用户响应转换为 char 数组,然后循环遍历每个 char,然后使用开关或多个循环来获取值,但我什至无法获得 for循环工作,因为我得到"Cannot invoke charAt(int) on the array type char[]".

public class question3 {

    public static void main(String[] args){
        Scanner userTypes = new Scanner(System.in);

        String wordValue;
        System.out.print("Please enter a string");
        wordValue = userTypes.next();

        String lowerCase;
        lowerCase = wordValue.toLowerCase();

        char[] arrayConvert = lowerCase.toCharArray();

        System.out.println(arrayConvert);
        int fullNumber;
        System.out.print("Please enter an int");
        fullNumber = userTypes.nextInt();

        double decimalNumber;
        System.out.print("Please enter a double");
        decimalNumber = userTypes.nextDouble();

        double totalNumber;
        totalNumber = fullNumber + decimalNumber;
        System.out.print("your result is " + totalNumber);

        for(int i=0; i< arrayConvert.length;i++) {
            if(arrayConvert.charAt(i)== ("a")){

            }
        }
    }

标签: java

解决方案


我没有测试你的代码,但charAt不是 char[] 方法。尝试这个:

for(int i=0; i< arrayConvert.length;i++) {
    if(arrayConvert[i] == 'a'){

    }
}

推荐阅读