1

私は Java の初心者で、ユーザーの名前、電話番号、住所を取得するプログラムを作成しました。問題は、電話番号を読み取った後、プログラムが住所の読み取りに進まないことです。それは、それをスキップしているようなものです。これが私のコードです:

public static void main(String [] arge){
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter your name, phone number and address");
    String name = sc.nextLine();
    long phone = sc.nextLong();

    String address = sc.nextLine();

    System.out.println("\n *** Here is your info ***");
    System.out.println("Name: "+name+"\nPhone number: "+phone+"\n Address: "+address);
}
4

5 に答える 5

3
long phone = sc.nextLong();

これをに変更

long phone = Long.parseLong(sc.nextLine());

電話番号を入力した後、ヒットしたエンターは にnextLine設定されている として消費されるためaddressです。したがって、空白のアドレスです (つまり、プログラムはアドレスの入力を求めません)。

コードを機能させるもう 1 つの方法 (何も変更せずに、変更せずにはい!) は、入力と同じ行に電話番号と住所を指定することです。Scanner はスペースをデフォルトの区切り文字として使用し、その役割を果たします。これはnextLong()、 long 値のみをスキャンするためです。

于 2013-10-02T07:33:21.700 に答える
0

これを試して。

import java.util.Scanner;

class ScannerTest{

 public static void main(String args[]){

   Scanner sc=new Scanner(System.in);

   System.out.println("Enter your rollno");

   int rollno=sc.nextInt();

   System.out.println("Enter your name");

   String name=sc.next();

   System.out.println("Enter your fee");

   double fee=sc.nextDouble();

   System.out.println("Rollno:"+rollno+" name:"+name+" fee:"+fee);


 }

} 
于 2013-10-02T07:35:32.507 に答える
0

プログラムは 3 つの入力をすべて読み取ります。しかし、電話番号を入力した後にエンターキーを押していると思います。ここに記載されているように入力してみてください:

自分の名前

100000 マイアドレス

sc.nextLong() メソッドは long 値を受け取り、sc.nextLine() は同じ行で入力を待ちます。そして、長い値を入力した後にエンターを押すと、sc.nextLine() は単に空を読み取ります。

于 2013-10-02T07:32:08.040 に答える
0

これを試して:

    String name = sc.nextLine();
    long phone = Long.parseLong(sc.nextLine());
    String address = sc.nextLine();
于 2013-10-02T07:32:40.603 に答える
0

値を 1 つずつ読み取ってみる

 Scanner sc = new Scanner(System.in);
    System.out.println("Enter your name");
    String name = sc.nextLine();
    System.out.println("Enter your phone number");
    long phone = sc.nextLong();
         sc.nextLine();//to catch the buffer"ENTER KEY" value
    System.out.println("Enter your  address");
    String address = sc.nextLine();
    System.out.println("\n *** Here is your info ***");
    System.out.println("Name: "+name+"\nPhone number: "+phone+"\n Address: "+address);
于 2013-10-02T07:33:18.063 に答える