我是java新手 我编写了这个程序来显示航类详细信息
import java.io.*;
import java.util.Scanner;
class Main
{
public static void main(String args[])
{
int ticket;
String name,destination;
float fare;
char tclass;
Scanner in = new Scanner(System.in);
System.out.println("Enter Flight name : ");
name=in.nextLine();
System.out.println("Enter Ticket No : ");
ticket=in.nextInt();
System.out.println("Enter Flight Fare : ");
fare=in.nextFloat();
System.out.println("Enter Travelling Class : ");
tclass=in.next().charAt(0);
System.out.println("Enter Source : ");
String source=in.nextLine();
System.out.println("Enter Destination : ");
destination=in.nextLine();
System.out.println("Flight Details : ");
System.out.println("Flight Name : "+name);
System.out.println("Ticket No : "+ticket);
System.out.println("Flight Fare : "+fare);
System.out.println("Class : "+tclass);
System.out.println("Source : "+source);
System.out.println("Destination : "+destination);
}
}
但是我在打印输出时遇到错误。 源字段为空,目标字段有源数据
Flight Details :
Flight Name : Emirates
Ticket No : 43190215
Flight Fare : 19433.94
Class : C
Source :
Destination : Mumbai
这里孟买实际上是源的值,但它显示在目标字段中
最佳答案
在您的程序中使用这段代码,
System.out.println("Enter Travelling Class : ");
tclass = in.next().charAt(0);
in.nextLine();
System.out.println("Enter Source : ");
String source = in.nextLine();
实际上 next()
方法没有消耗最后一个换行符,这就是您面临此问题的原因。
关于java - 编写一个程序来从用户那里获取各种数据值并以不同的格式显示它。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38832305/