如何将用户输入解析为相应的类型

时间:2015-09-21 19:31:39

标签: java parsing java.util.scanner

我需要编写一个Java程序,它从用户那里获取两个输入并计算总和。该部分很简单,但允许用户输入任何类型 - int或double。我必须弄清楚如何将输入转换为用户输入的数字的类型。如果他们输入带小数的数字,则必须将其放入双变量中。如果它是一个普通的数字,它必须是一个int。而且,我们无法询问用户他们将要使用的内容。如果他们输入非数字输入,我们就不能抛出异常。如果用户输入7和12.4,我的程序应如何工作?

我是Java的新手,并且一直在研究扫描仪类,但无法弄清楚这一点。我知道如何只为一种类型做这件事;这很简单。请帮忙!

2 个答案:

答案 0 :(得分:1)

<table id="table">
  <thead>
    <tr>
      <th onclick="makeMeBlue(this)">Name</th>
      <th onclick="makeMeBlue(this)">Times Placed</th>
      <th onclick="makeMeBlue(this)">UMF (KB)</th>
      <th onclick="makeMeBlue(this)">UAC</th>
      <th onclick="makeMeBlue(this)">Texture Memory (MB)</th>
      <th onclick="makeMeBlue(this)">Texture Count</th>
      <th onclick="makeMeBlue(this)">Mesh Memory (KB)</th>
      <th onclick="makeMeBlue(this)">Mesh Count</th>
      <th onclick="makeMeBlue(this)">Path</th>
    </tr>
  </thead>
</table>

答案 1 :(得分:0)

Scanner scn = new Scanner(System.in);

if (scn.hasNextDouble()){    
    double dblVal= scn.nextDouble();
}
else if (scn.hasNextInt()){
    int intVal= scn.nextInt();
}

您可以使用上面的hasNextInt()hasNextDouble()进行检查