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

如何在循环java中读取两个输入

淳于功
2023-03-14
public class Example{

public static void main(String args[]){

    Map<String,Integer> mapSub = new HashMap<String,Integer>();
      for (int i=0;i<nbSubnet;i++){
        System.out.println("Enter name of the subnet "+i+" : ");
        String nameSubnet = scanner.nextLine();
        System.out.println("Enter the size of the subnet "+i+" : ");
        int sizeSubnet = scanner.nextInt();

        mapSub.put(nameSubnet, sizeSubnet);
    }
  }
}
Enter name of the subnet 0 : 
Enter the size of the subnet 0 : 
IT
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at view.Main.main(Main.java:60)

任何帮助都是非常感谢的

共有1个答案

夏侯兴学
2023-03-14

您需要验证您的输入,以确保得到所需的类型。it不是int,因此int sizeSubnet=scanner.nextInt();当然会失败。

至少,尝试/捕捉是个好主意。

int sizeSubnet;
try{
    sizeSubnet = scanner.nextInt();
} catch () {
    sizeSubnet = 0;
}

如果您希望it应该是nameSubnet,那么您需要确保扫描器用一个额外的scanner.nextLine();等待输入。

 类似资料:
  • 对于这个问题,我需要用一个公式求出两个点之间的距离,给定两个点的坐标和值p。我让程序为一个输入行工作,但我希望用户能够输入多行,并让程序循环通过它们。例如: 1.0 1.0 2.0 2.0 1.0 我对java相当陌生,还在学习,所以我很感激我能得到的任何帮助。提前谢了。

  • 我一直在寻找如何弄清楚如何让一个输入或某些东西进入一个time循环。就像在,输入()命令不会停止我的秒表。我尝试过tkinter、pygame和其他几种方法,但它们都不起作用。如果有人能帮我,我更喜欢小而简单的东西,如果这是可能的话。具体来说,我想学习做什么,基本上是允许在按下任何键时立即停止(最好不按回车键)。谢谢,马鞍猪! 以下是我到目前为止的情况,没有任何东西可以激活停止:

  • 对于我的程序,我要编写一个程序,它接受2到10之间的行数。生成n行的乘法三角形。每行包含的条目不超过其行大小。这一点我没有问题。但是,在用户将数字0输入到我的问题“请输入要打印的行数:”之后,应该终止循环并打印“感谢您使用此程序!”我用了一个DO。。。WHILE循环以确定用户是否希望继续。在我的循环中,我将用户想要打印的数字声明为int num。我的循环应该持续到num

  • 问题内容: 我们的教授让我们用Java进行一些基本的编程,他提供了一个网站以及所有可以注册和提交问题的内容,因为今天我需要做一个例子,我觉得自己处在正确的轨道上,但是我无法找出其余的。这是实际的问题: 这是到目前为止我得到的: 现在,我总是会得到答案,因为我正在阅读单行,如何考虑所有行?谢谢 由于某些奇怪的原因,每次我要执行时都会出现此错误: 无论我使用什么版本的答案,都会出现此错误,该怎么办?

  • 问题内容: 我想读取两个输入值。第一个值应为整数,第二个值应为浮点数。 我看到用Python在同一行中读取了两个变量,但是仅当两个值的类型相同时,它才适用。我还有其他办法吗? 输入示例,第一个是int,第二个是float。输入应该在一行上: http://www.codechef.com/problems/HS08TEST/ 我是Python的新手。 问题答案: 像这样: 您不能单线执行此操作(或

  • 问题内容: 不允许在Go中使用以下for循环, 下面两个变量的for循环的正确等效项是什么? 问题答案: 您没有逗号运算符来连接多个语句,但是您确实有多个分配,因此这可行: