java - 检查(使用函数)来自用户的字符串输入是字符还是整数。 ( java )

标签 java string input char int

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我环顾四周,但我对 java 还是很陌生,我发现与字符串输入和 char/number 相关的所有内容都对我丢失了。我已经看到了各种不同的方法来检查它是数字还是字符,但我不确定在我的情况下使用哪一种。我的程序的目标是让用户输入一个数字,然后检查并打印该数字是偶数还是奇数。但不要限制用户只输入一个整数。我想将输入设为“字符”,但我无法让扫描仪接受它,它想将其转换为字符串。所以现在我正在使用字符串输入,但我不确定如何在 main 下面编写一个函数,我可以调用该函数来检查用户的输入是数字还是字符。我不想为我编写整个程序,只想如何解决这个问题。如果我无法获得更多帮助,我会回来寻求更多帮助:)
此外,如果您能够在回复时解释代码的每个部分在做什么,以帮助我了解哪些命令到底做了什么,这将有很大帮助。提前感谢您的任何回复!

好的,我会发布我的代码,我知道它已经坏了,但我真的不知道下一步该去哪里。我希望用户输入他想要的任何内容,一个 char ,像 & $ # 这样的符号,或者一个数字。但是如果他输入除数字以外的任何内容,我希望程序给他一个错误。所以我想我必须让他们输入一个字符串,但我不知道如何在扫描仪输入字符串时使用我的测试功能。呃,我太迷路了。我需要它来检查字符串以查看它是字符还是数字,如果是字符,则向它们抛出错误。如果它是一个数字,请检查它是偶数还是奇数,然后回答它是哪一个。

公共(public)类firsttry2 {

public static void main(String[] args) {

    System.out.print("Enter a character or number. Seriously, though, it is meant to be a number, but you can put whatever you want here. If it isn't a number however, you will get an error message.");


    Scanner in=new Scanner(System.in);


    String input=in.next();
    boolean x=checkevenodd(input);

    //no idea where to go from here and what i have so far is probably badly broken
    //i cant get checkevenodd to work with my scanner input because it's expecting an integer but it's getting a string.









}
public static boolean checkevenodd(int input1){
    if (input1%2==0) return true;
    return false;
}

公共(public)静态 boolean 检查字符类型(){

}
}

最佳答案

只需将用户输入传递给 Integer.parseInt(String) , 如果它抛出 NumberFormatException , 它不是 Integer .进一步检查字符串的长度,如果是1,它必须是一个字符。但在您的情况下,无需检查字符,只需限制整数。如果出现异常,提示输入错误。

int i = 0;

try
{
    i = Integer.parseInt(readit.next());
}
catch(NumberFormatException e)
{
    e.printStackTrace();
    return;
}

System.out.println(i);

关于java - 检查(使用函数)来自用户的字符串输入是字符还是整数。 ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19309375/

相关文章:

java - 如何将对象存储在数组中以供以后使用?

html - 红色的 Chrome 输入框

javascript - 使用javascript重命名输入中的文本(每点更改空间)

Java 逐元素求和 2 个数组

java - 在 Java 中使用子抽象类

java - 在 Java 中动态调用 native 方法

java - 如何防止 java.lang.NumberFormatException : For input string: "N/A"?

python - 如何在 python 中编写一个函数来替换当前的 str() 函数?

java - 局部字符串变量未初始化错误

javascript - JQuery/JavaScript - 从另一个按钮点击事件触发按钮点击