我在尝试运行此程序时遇到以下异常。我正在使用在线编译器。甚至在读取字符串后尝试使用nextLine(),但没有成功。
Input:
Enter the Customer Name:Roger Clinton
Enter the Customer id:101
Enter Credit Limit:10000
Expected Output
The Customer details are
Customer Name: Roger Clinton
Customer id: 101
Credit Limit: 10000.00
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter the Customer Name:");
String name=sc.nextLine();
sc.nextLine();
System.out.println("Enter the Customer id");
int id=sc.nextInt();
System.out.println("Enter Credit Limit:");
double bal=sc.nextDouble();
System.out.println("The Customer details are");
System.out.println("Customer Name:"+name);
System.out.println("Customer id:"+id);
System.out.println ("Credit Limit: "+String.format("%.2f", bal));
}
}
我得到了以下异常:输入客户名称:在线程“main”java中输入客户id异常。util。NoSuchElementException:在java中找不到行。util。扫描仪。nextLine(Scanner.java:1585)位于Main。main(main.java:12)
试试这个吧
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Enter the Credit Card details");
System.out.println("Enter the expiry month :");
Scanner sc=new Scanner(System.in);
int exp=sc.nextInt();
Scanner sc1=new Scanner(System.in);
System.out.println("Enter the card holder name :");
String name = sc1.nextLine(); // ** i guess you had a typo here**
Scanner sc2=new Scanner(System.in);
System.out.println("Enter the credit balance :");
float bal=sc2.nextFloat();
System.out.println("Credit Card Details");
System.out.println("Expiry Month :"+exp);
System.out.println("Name :"+name);
System.out.println ("Credit Balance :"+String.format("%.2f", bal));
}
}
问题内容: 编辑 以便进一步阅读:问题是我的输入文件已损坏。 我不明白我在做什么错: 我正在使用此代码: 哪个工作正常。现在,由于某种原因,我想换一个扫描仪。我的代码变成: 这次,我们从不输入while,因为r.hasNextLine()始终返回“ false”。关于我在做什么错的任何想法吗? 我精确地说,没有其他更改,文件仍然相同。 编辑 :我还精确地我尝试了另一个文件,并得到相同的结果,这意味
问题内容: 我正在玩Scanner类,以进行学习,并且我使用它来读取非常大的文件(大约60.000行,大约不使用Reader类),并且在大约400行后停止读取。我是否必须在Scanner的构造函数中使用Bufferedreader还是问题?我想知道为什么会这样。谢谢。我的代码是输出所有行的常用代码。 问题答案: 此问题通常在64位计算机上或文件大小大于1-2 GB的文件中更常见,并且与堆空间无关。
我有麻烦更新一个变量的名称为一个对象使用扫描器。我提供一个菜单给用户,用户选择他的选择(更新名称),程序要求用户输入新的名称,扫描器读取system.in并更新变量的名称。唯一的问题是程序不能读取带有空格的字符串。例如: 如果键入类似的内容,则可以执行此操作,但如果键入,则将得到,输出示例如下 所以我猜它只读取t,当扫描器扫描shipProperty值时,它读取dog而不是等待输入。我读过关于的文
问题内容: 我正在尝试做的是拥有多个具有不同变量的输入。每个变量将是不同方程式的一部分。我正在寻找一种方法来做,我想我有一个主意。我只想知道这是否合法,也许还有更好的方法。 问题答案: 如果每个输入都问相同的问题,则应使用循环和输入数组: 或者如Chip所建议的,您可以从一行中解析输入: 您在正确的轨道上,所做的工作正常。这只是一种更好,更灵活的处理方式。
嗨,我正在编写一个程序,它使用Scanner从用户那里获取输入,然后使用布尔方法检查输入的长度是否不超过六个字符。问题是,如果长度小于六个,我使用了while循环来不断请求输入;但是在第一次错误输入后,如果你插入一串六个字母或更长的字符串,循环仍然会继续。这是程序: 谢谢
问题内容: 发生异常时,如何使扫描仪重试? 考虑此应用程序在CLI模式下运行。 例: 如果用户未输入类型输入,则抛出错误。但我想在错误消息出现之后。应该要求用户再次输入 宽度 。 怎么做? 问题答案: 如果我对您的理解正确,则希望该程序在失败后要求用户重新输入正确的输入。在这种情况下,您可以执行以下操作: 注意:您 只能 捕获并重试一次。这些方法会引发其他异常,如果您尝试重试这些异常,则您的应用程