Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用charAt查找字符串中字符的位置_Java - Fatal编程技术网

Java 如何使用charAt查找字符串中字符的位置

Java 如何使用charAt查找字符串中字符的位置,java,Java,所以我不想用ascii表来做这个。我想让用户输入一个字母数字(如A3),然后取字母表(A)并在字符串ABC中找到它,所以我会给我一个介于1-9之间的数字,而不是ascii值。这将使我更容易在以后放入2d数组 但是,当我使用System.out.println(abc.charAt(row))时;它会说它超出了边界,因为它使用了ascii值。我怎样才能使它不会 public static void main(String[]args){ Scanner k = ne

所以我不想用ascii表来做这个。我想让用户输入一个字母数字(如A3),然后取字母表(A)并在字符串ABC中找到它,所以我会给我一个介于1-9之间的数字,而不是ascii值。这将使我更容易在以后放入2d数组

但是,当我使用System.out.println(abc.charAt(row))时;它会说它超出了边界,因为它使用了ascii值。我怎样才能使它不会

        public static void main(String[]args){
        Scanner k = new Scanner(System.in);
        String abc = "ABCDEFGHIJ";
        String ab = "abcdefghij";
        abc.equals(ab);
        System.out.println("Please enter the attack location:");

            while (!k.hasNext("[A-J a-j]+[0-9]")) {
                System.out.println("Wrong");
                k.next();
            }

            String location = k.next();
            char row = location.charAt(0);
            int num = (int) location.charAt(1);
            System.out.println(abc.charAt(row));
}
}

请记住,
A
的ascii字符从65开始,因此如果用户输入
A3
,那么您实际上使用的是
abc.charAt(65)
,这显然不是您想要的

相反,您需要在数组中查找字符的索引

int index = abc.indexOf(row);
请查看以了解更多详细信息

您可能还希望使用
Character.toUpperCase
将用户输入的
char
转换为大写,这将使搜索
字符串变得更容易


ps-还有类似于
行-65
(或者
行-A'
如果这很难记住)的东西会给你同样的结果;)

记住,
A
的ascii字符从65开始,因此如果用户输入
A3
,那么您实际上使用的是
abc.charAt(65)
,这显然不是您想要的

相反,您需要在数组中查找字符的索引

int index = abc.indexOf(row);
请查看以了解更多详细信息

您可能还希望使用
Character.toUpperCase
将用户输入的
char
转换为大写,这将使搜索
字符串变得更容易

ps-还有类似于
行-65
(或者
行-A'
如果这很难记住)的东西会给你同样的结果;)

???