Java 如何修改代码以仅接受特定的数据类型?

Java 如何修改代码以仅接受特定的数据类型?,java,Java,我能做些什么来修改这个,有没有java函数? 需要做什么才能使它只接受字符并返回其他数据类型的错误消息 import java.util.*; public class problem5 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Enter a letter from th

我能做些什么来修改这个,有没有java函数? 需要做什么才能使它只接受字符并返回其他数据类型的错误消息

import java.util.*;
    public class problem5
    {
      public static void main(String[] args)
      {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter a letter from the alphabet: ");
        char letter = in.next(".").charAt(0);
        char vowels[] = {'A','E','I','O','U','a','e','i','o','u'};
        int vowelcount = 0;
        for (int i = 0; i < 10; i++)
        {
          if (vowels[i] == letter)
          {
            vowelcount++;
          }
        }
        if (vowelcount > 0)
        {
          System.out.println("You entered a vowel.");
        }
        else
        {
          System.out.println("You entered a consonant.");
        }
      }
    }

将循环包装在语句中,例如:

if (Character.isLetter(letter)){
并将和else子句放在错误的末尾

编辑:

OP稍微改变了他们的问题,因此您可以:

-仅接受输入的第一个字符:

char letter = in.next().trim().charAt(0);
-或者正如AxelH上面所说的,只有在用户输入一个字符时才能继续:

if(input.length == 1){
    char letter = input.charAt(0);
我需要拒绝超过1个字符的输入–Nico Dela Cruz

您只需要检查输入的长度

String input = in.next(".");
if(input.length == 1){
    char letter = input.charAt(0);
    ...
}
如果要添加某种类型的错误消息,请添加else

要将输入检查为仅接受字母,您必须用UNICODE检查每个字母


如果您只想接受a-z和/或a-z的范围,您可以使用If条件或使用regex来实现。

嗯,一切都是字符串中的字符。你想检查你是否只得到字母字符,如果我需要拒绝两个以上的字符串;和数字我应该添加什么?可能的重复我需要拒绝两个字符串和以上你的意思是你有一个拒绝字符列表?或者您拒绝包含超过1个字符的字符串?String.length>1谢谢!但我如何拒绝数字/整数作为输入?@NicoDelaCruz你刚才说你想拒绝过长的字符串。。。。对于其余的拒绝,请检查提议的副本或上面的答案。这是一个反复出现的问题