在Java中,如何将用户输入的字符转换为数字位置?
因此,我在Java简介类中遇到了这个问题。我对这方面完全是个新手,所以非常感谢您的帮助。我必须设计并创建一个程序,接受用户输入的字母(应该是a-z或a-z),并确定它在字母表中的位置。(所以a等于0)我一直在处理字符串到字符和字符到整数的转换问题。任何关于如何设计这个程序的提示或线索都将不胜感激。我一整天都在做这个程序,没有任何明显的进展。只需从输入字符中减去在Java中,如何将用户输入的字符转换为数字位置?,java,Java,因此,我在Java简介类中遇到了这个问题。我对这方面完全是个新手,所以非常感谢您的帮助。我必须设计并创建一个程序,接受用户输入的字母(应该是a-z或a-z),并确定它在字母表中的位置。(所以a等于0)我一直在处理字符串到字符和字符到整数的转换问题。任何关于如何设计这个程序的提示或线索都将不胜感激。我一整天都在做这个程序,没有任何明显的进展。只需从输入字符中减去char常量'a'。 请尝试以下代码: char c = 'b'; System.out.println(c - 'a' + 1); 输
char
常量'a'
。
请尝试以下代码:
char c = 'b';
System.out.println(c - 'a' + 1);
输出将是
2
,以便用户使用扫描仪输入任何内容。在这种情况下,以下代码将提示用户输入一个字符,然后将其分配给一个名为“c”的变量
import java.util.*;
// assuming that the rest of this code is inside of the main method or wherever
// you want to put it.
System.out.print("Enter the letter: ");
Scanner input = new Scanner(System.in);
char c = Character.valueOf(input.next());
然后使用这段代码使用任何你想转换成字母位置的方法。希望有帮助 我想已经有人回答了,但总而言之:
/**
* Gets the numerical position of the given character.
*/
private static final int convertToPosition(final char c) {
return c - 'A' + 1;
}
public static void main(String[] args) throws Exception {
System.out.print("Enter the letter: ");
Scanner input = new Scanner(System.in);
if (input.hasNext()) { // if there is an input
String inStr = input.next().toUpperCase();
if (inStr.length() != 1) {
System.out.println("Unknown letter");
return;
}
char c = inStr.charAt(0);
int pos = convertToPosition(c);
System.out.println("Position: " + pos);
} else {
System.out.println("no input");
}
}
字母b.a-->0,b-->2的输出应为2@codeNinjaa是字母表中的第一个字母,因此a-->1,b-->2@新浪微博LiBut在你的问题中,你说,
确定它在字母表中的位置。(所以a等于0)
对不起,我没有看到。顺便说一句,这不是我的问题@微博LiOkay很酷,但是我该如何让用户输入字符呢?再次抱歉,伙计,但我真的是个新手。