最近我开始编程,不知道如何处理我遇到的异常在取得CCD_ 1的字符串输入的同时进行接收。但是,该代码适用于op.next()
为什么它会给我这样的例外?
import java.util.*;
import java.util.Scanner;
import java.io.*;
public class Employee_Class_object {
// Fields
private int emp_no;
private String na;
private double salary;
// method
public void getData()
{
Scanner op = new Scanner(System.in);
System.out.println("Enter the emoployee no , Name and salary ");
emp_no = op.nextInt();
na = op.nextLine(); // Showing exception for nextLine() and not for op.next()
salary = op.nextDouble();
}
public void putData()
{
System.out.println("Employee no = " + emp_no);
System.out.println("Employee name = " + na);
System.out.println("Employee Salary = " + salary);
}
public static void main (String args[])
{
Employee_Class_object a = new Employee_Class_object();
Employee_Class_object b = new Employee_Class_object();
a.getData();
a.putData();
}
}
异常的可能原因是您仍在读取第一行(在读取getData((方法第4行的emp_no之后(。在阅读下一行之前,请将阅读器移到下一行。类似这样的东西:
public void getData()
{
Scanner op = new Scanner(System.in);
System.out.println("Enter the emoployee no , Name and salary ");
emp_no = op.nextInt();//after reading this, you're still at the same line.
op.nextLine();// Now you are on the NEXT line.
na = op.nextLine();
salary = op.nextDouble();
}