2017-07-31 38 views
-2

我使用NetBeans IDE 8.2和我寫了這個代碼:怎樣寫一個句子在同一行上一用戶的輸入

System.out.print("Hello, my name is ");  
Name=scan.nextLine();  
System.out.print("and I am ");  
age=scan.nextInt();  
Name=scan.nextLine();  
System.out.print("years old. ");  
System.out.print("I'm enjoying my time at ");  
Name=scan.nextLine();  
System.out.print("though I miss my pet ");  
Name=scan.nextLine();  
System.out.print("Very much!"); 

輸出是:

你好,我的名字是(輸入)

我是(輸入)

歲。我很享受我的時間(輸入)

雖然我很想念我的寵物(輸入)

非常喜歡!

但我希望它是:

你好,我的名字是(輸入)和我(輸入)年

歲。我很享受我的時間(輸入),雖然

我非常想念我的寵物(輸入)!

我不知道如何讓每個句子出現在同一行中輸入...

在此先感謝。

+0

可能不可能,因爲您需要按_return_將輸入發送到控制檯。 _return_也意味着一條新線。 – Tom

回答

1

從打印時分開收集輸入。您可以使用Java's String formatting(您關心的代幣爲%s%d)來實現此目的。

本質...

System.out.printf("Hello, my name is %s and I am %d years old. ...", name, age, ...); 
0

我認爲使用Eclipse IDE的事實是在誤導你。當您在Eclipse終端上運行應用程序時,stdinstdout將打印在同一個控制檯中。但是,您在stdin上輸入的信息不會寫在stdout上。此外,由於您需要處理掃描儀上的全部行,因此您需要在用戶輸入上結束行,因此無法保留句子。請注意,儘管您可以在單行中看到該句子,但由於Eclipse混合了stdinstdout(儘管應該有不同的顏色),因此您不會存儲這些信息。

我的建議是兩個部分來劃分代碼:

  • 第一個詢問用戶所需要的信息
  • 第二個打印檢索到的信息並構建您想要的信息。

在這裏,我向您提供根據您的解決方案的代碼:

public static void main(String[] args) { 
    String name = null; 
    int age = 0; 
    String place = null; 
    String petName = null; 
    try (Scanner scan = new Scanner(System.in)) { 
     System.out.println("Please enter your name"); 
     name = scan.nextLine(); 

     System.out.println("Please enter your age"); 
     age = scan.nextInt(); 

     System.out.println("Please enter where you are"); 
     place = scan.nextLine(); 

     System.out.println("Please enter your pet name"); 
     petName = scan.nextLine(); 
    } 

    System.out.print("Hello, my name is "); 
    System.out.print(name); 
    System.out.print(" and I am "); 
    System.out.print(age); 
    System.out.println(" years old. "); 

    System.out.print("I'm enjoying my time at "); 
    System.out.print(place); 
    System.out.print("though I miss my pet "); 
    System.out.print(petName); 
    System.out.println(" very much!"); 
} 

注意:

  • 與資源命令嘗試使用在執行結束,關閉掃描儀
  • 所有信息在第一個塊上檢索
  • 在第二個塊上,您可以更改任何printprintln強制你想要的新線。
相關問題