Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.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_Netbeans - Fatal编程技术网

如何存储我输入并检测到的数据';Java中的数据类型?

如何存储我输入并检测到的数据';Java中的数据类型?,java,netbeans,Java,Netbeans,我正在制作一个程序来检测输入数据类型t,无论它是整数还是双精度。到目前为止,我没有以下代码。但我不知道如何存储我输入的数据 代码: import java.io.*; 导入java.util.Scanner; 公共类高度计算{ 公共静态int-temp,结果; 公共静态void main(字符串[]args){ 扫描仪输入=新扫描仪(System.in); if(input.hasNextInt()){ System.out.println(“整数”); } else if(input.hasN

我正在制作一个程序来检测输入数据类型t,无论它是整数还是双精度。到目前为止,我没有以下代码。但我不知道如何存储我输入的数据

代码:

import java.io.*;
导入java.util.Scanner;
公共类高度计算{
公共静态int-temp,结果;
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
if(input.hasNextInt()){
System.out.println(“整数”);
}
else if(input.hasNextFloat()| | input.hasNextDouble()){
System.out.println(“Double”);
}
}
}

如果使用apache commons库,则可以使用StringUtils和NumberUtils。 通常,为扫描仪输入定义一个变量并验证其内容,直接验证输入更具限制性

import java.io.*;
import java.util.Scanner;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math;

public class HeightCalc {
    public static int temp,result;
    public static void main(String[] args) {

        Scanner scanner = new Scanner (System.in);
        String input = scanner.nextLine();

  if (StringUtils.isNumeric(input))
  {
     System.out.println("Integer.");
  }

  else if (NumberUtils.isCreatable(input))
  {
      System.out.println("Double.");
  }

 System.out.println("Input:" + input);
}
}
您可以将输入存储在一个变量中,如上例所示

String myInput = scanner.nextLine();

如果我做对了,你需要把输入的数值存储到一个变量中吗

我将创建
Number inputValue
变量,并将扫描器中的值存储到其中

        Number inputValue;

        Scanner input = new Scanner (System.in);

        if (input.hasNextInt())
        {
            inputValue = input.nextInt();
            System.out.println("int.");
        }  else if (input.hasNextFloat() || input.hasNextDouble())
        {
            inputValue = input.nextDouble();
            System.out.println("Double.");
        }
inputValue将从
.nextInt()
nextDouble()
继承类

不过,我会考虑将输入存储到一个变量中,以摆脱这个条件,并从中派生出其他的数字类。 int的示例

inputValue = input.nextDouble();

public int getIntValue(){
   return inputValue.intValue();
}