Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.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中,如何将用户输入的字符转换为数字位置?_Java - Fatal编程技术网

在Java中,如何将用户输入的字符转换为数字位置?

在Java中,如何将用户输入的字符转换为数字位置?,java,Java,因此,我在Java简介类中遇到了这个问题。我对这方面完全是个新手,所以非常感谢您的帮助。我必须设计并创建一个程序,接受用户输入的字母(应该是a-z或a-z),并确定它在字母表中的位置。(所以a等于0)我一直在处理字符串到字符和字符到整数的转换问题。任何关于如何设计这个程序的提示或线索都将不胜感激。我一整天都在做这个程序,没有任何明显的进展。只需从输入字符中减去char常量'a'。 请尝试以下代码: char c = 'b'; System.out.println(c - 'a' + 1); 输

因此,我在Java简介类中遇到了这个问题。我对这方面完全是个新手,所以非常感谢您的帮助。我必须设计并创建一个程序,接受用户输入的字母(应该是a-z或a-z),并确定它在字母表中的位置。(所以a等于0)我一直在处理字符串到字符和字符到整数的转换问题。任何关于如何设计这个程序的提示或线索都将不胜感激。我一整天都在做这个程序,没有任何明显的进展。

只需从输入字符中减去
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很酷,但是我该如何让用户输入字符呢?再次抱歉,伙计,但我真的是个新手。