【发布时间】:2018-07-24 02:22:15
【问题描述】:
我必须编写一个程序,让用户在其中写入商品的价格,当用户按下 ctrld 时,程序将打印较低的价格(没有商品名称)。 该程序不打印任何想法或不匹配。我能做什么?
这是错误。如何修改代码以便可以读取字符串?
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at StampaMinimoParola.main(StampaMinimoParola.java:12)
这应该是输出:
输入
苹果 10 梨 20 葡萄 5输出
5
代码如下:
import java.util.Scanner;
public class StampaMinimoParola {
public static void main(String[] args) {
Scanner s=new Scanner (System.in);
String name="";
int lower=Integer.MAX_VALUE;
int price;
while (s.hasNext()) { //start of the while loop
name=s.nextLine(); //name of the article
price=s.nextInt();//price of the article
if (price<lower) {
System.out.println(price);
}
//end of while cycle
}
}
}
【问题讨论】:
-
输出是什么,你需要如何达到结果?
-
或者没有输出或者出现:java.util.Scanner 的 java.util.Scanner.throwFor(Scanner.java:864) 的线程“main”java.util.InputMismatchException 异常。 next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at StampaMinimoParola.main(StampaMinimoParola.java:11)
-
输入不匹配通常发生在您期望整数并将其作为字符串传递时
-
在我必须输入一个字符串和一个整数之前...我应该怎么做?
-
您的代码应该读取一个完整的行字符串,然后第二行应该读取为整数,另一件事是您的 ode 不会被执行,除非您在 while 循环之前提供一些输入跨度>
标签: java string if-statement while-loop int