当前位置: 首页 > 知识库问答 >
问题:

我的扫描器java代码有什么问题?

蒯慈
2023-03-14
import java.util.Scanner;  

public class Exercise5 {  

 public static void main(String[] args) {  
  Scanner in = new Scanner(System.in);  

  System.out.print("Input first number: ");  
  int num1 = in.nextInt(5);  

  System.out.print("Input second number: ");  
  int num2 = in.nextInt(25);  

  System.out.println(num1 + " x " + num2 + " = " + num1 * num2);  
 }  

}  

**这是我的java代码,预期输出如下:

输入第一个数字:25
输入第二个数字:5
25 x 5=125

在我插入代码并运行它之后,输出与答案相差太大

以下是输出:

Input first number: Exception in thread "main"   java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at Exercise5.main(Exercise5.java:27)

如何修复我的代码?

共有3个答案

孟成文
2023-03-14

你不应该把5和25放在in的括号内。下一步,您将在控制台行中写入值,扫描仪将读取该值<那倒是

 int num1 = in.nextInt(5); 

它应该看起来像

 int num1 = in.nextInt(); 
章锦
2023-03-14

有2种nextInt()方法:

nextInt()单独允许您读取以10为基数的整数

nextInt(基数)读取基数N中的下一个数字,其中N是5,在您的情况下是25

打给第一个你就完了

史谦
2023-03-14

in.nextInt(5)中的5;表示基数。你需要它吗?如果使用无参数的nextInt()方法,程序是否工作?

此外,出于某种原因,两个版本都适用于我,没有错误:

// output of nextInt(radix) version
java Excercise5
Input first number: 32
Input second number: 23
17 x 53 = 901

// output of nextInt() version
java Excercise5
Input first number: 5
Input second number: 25
5 x 25 = 125
 类似资料:
  • 首先,我是java新手,正在尝试完成学校关于创建自动售货机的作业。我的程序接收两个文件作为cli参数,一个是产品,另一个是钱。 下面是我提供的ie Arg[1]的第二个文件,它的格式与第一个相同,工作。 任何帮助都将不胜感激。谢谢

  • 我拿不到输出。。有人能帮我得到输出吗 下面给出了程序运行的示例(注意:下面的粗体文本是用户输入的输入): 输入三角形的三条边

  • 我想了解一些关于Spring的东西。我正在尝试配置它,但是有些东西我不明白,因为Spring似乎不认识我的控制器。 这是我的web.xml 这就是servlet 控制器:

  • 我只是想知道为什么是java。util。扫描器实现java。util。迭代器? 实现删除方法,并抛出一个不支持的操作异常。 但是一个类在实现接口时,不应该履行接口的契约吗? 实现

  • 我努力解决问题,我真的很接近,但我很困惑为什么我的程序似乎跳过,没有读取输入学生姓名部分我的输入。当学生数为1时,似乎也有这个问题。任何帮助都将不胜感激!:]

  • 我在计算机课上遇到了合并排序的问题。我不断收到错误或返回原始ArrayList。 我相信合并排序涉及到将数组(列表)递归地对半拆分,直到只剩下一个元素,然后从这些单独的元素开始,按排序顺序合并它们。直到数组(列表)被排序为止。至于实际的排序部分,我试图在新的ArrayList中插入两半之间的较高值,直到它们都为空,在这种情况下,填充的ArrayList现在被排序。 这是我当前的代码: 我将感谢任何