Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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,在本练习中,我被要求创建3个函数,它们相同,但用于不同类型的数据: 字符串 static String concatenamento(String a, String b, String c) { String d = a + b + c; return d; } Int static int sommainteri(int a, int b, int c) { int d = a + b + c; return d; } 双倍

在本练习中,我被要求创建3个函数,它们相同,但用于不同类型的数据:

字符串

    static String concatenamento(String a, String b, String c) {

    String d = a + b + c;

    return d;
} 
Int

    static int sommainteri(int a, int b, int c) {

    int d = a + b + c;

    return d;
}
双倍

    static double sommadouble(double a, double b, double c) {

    double d = a + b + c;

    return d;
} 
我被要求不断地询问用户的输入,并且给定它的输入,程序必须(只要用相同的数据类型给出3个输入),选择一个函数并执行它。节目结束了

我不确定这是否清楚,所以我会尽力更好地解释。假设用户刚刚在一行中插入了三个整数(f.ex.3、4和9),程序必须理解如何使用为整数生成的函数


我不知道怎么做。感谢您的帮助:)

签出扫描仪的
hasNextInt()
hasNextDouble()

简单示例用法:

public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    if(s.hasNextInt()) {
        int x = s.nextInt();
        System.out.println("Is an Int: " + x);
    } else if(s.hasNextDouble()) {
        double x = s.nextDouble();
        System.out.println("Is a Double:" + x);
    } else {
        String x = s.nextLine();
        System.out.println("Is A String: "  + x );
    }
}

10.53
:这是一个双精度(
10.53
)、一个字符串(
“10.53”
)还是一个int(
10
后接
)“
后接
53
)?据我所知,这对我来说是双精度的。不过,你的观点是正确的,可能会有不同的解释。我现在糊涂了@FilipeMadureira不要担心,如果使用
hasNextDouble()
,扫描仪足够健壮,可以确定这是一个双精度。哇,让我理解一下,如果下一组数据可以读取为Int,hasNextInt()将返回true?这对我的问题来说太完美了!有没有一种方法可以对字符串使用这种方法呢?有一个警告:首先尝试使用double。您需要先尝试double,因为double的开头可以解释为int。@Arkadiy这是不正确的。Int可以解释为Double,但不能解释为Double。切换语句并使用1、2.5、3作为输入很容易证明…@FilipeMadureira字符串将是默认情况(如果不想将其他类型视为字符串,可以先检查它们)