2014-10-16 83 views
0

好吧我取得了進展我想我問的是錯誤的問題,但繼承了我的新輸出;要求用戶在編號列表中一次輸入多個字符串響應。使用nextLine()方法輸入

  • 我得到這個(沒有子彈):
    • 「請列出2條difrent線兩個外部正文部分\ n」。
    • bodyPart1
    • bodyPart2

我需要這個:

  • 「請在兩行不同的行上列出兩個外部bodyparts。 \ n」個
    • 1> bodyPart1
    • 2> bodyPart2

繼承人我的代碼

import java.util.Scanner; 
public class secret{ 
    public static Scanner console = new Scanner(System.in); 
    public static void main(String[] args){ 
     System.out.print("Please list two external bodyparts on 2 difrent lines. \n"); 
     String bodyPart1 = console.nextLine(); 
     String bodyPart2 = console.nextLine(); 
    } 
} 
+0

您在主要方法中獲得字符串爲什麼需要傳回? – brso05 2014-10-16 14:52:08

+1

你確實期望你的方法'giveBack'做什麼?因爲它不會。 – 2014-10-16 14:52:09

+0

@ brso05-因爲任意要求 – 2014-10-16 14:55:27

回答

0

我不知道你要找的,我看到一對夫婦首先,你的giveBack()方法有一個返回類型「void」,這意味着它不返回任何東西,但你試圖返回一個String。你的方法聲明應該是 public String giveBack(String string1,String string2){ } 其次,據我所知,不能使用兩個return語句返回兩個項目。一旦它擊中第一個返回語句,它將返回值並退出該方法。

+0

這應該可能是一個評論而不是答案,但我沒有足夠的代表評論。此外,我試圖使用代碼塊格式,但它沒有采取。 – Jay 2014-10-16 15:32:06

0

這裏有很多錯誤。讓我看看我是否可以解釋每一個:

  1. 如前所述,giveBack方法返回類型爲'void',但您試圖返回String數據類型。這顯然是錯誤的。
  2. 'giveBack'方法在同一個塊中包含兩個return語句。這也是錯誤的。 'return'的主要目的是將控制返回給方法的調用者。這意味着堆棧彈出並且存儲的地址返回到指令指針。此外,如果需要返回任何值,它也會這樣做。雖然一個方法可以有多個退出(返回)點,但每個塊只允許一個。每個塊有多個返回語句會導致編譯錯誤。
  3. 您輸入兩個項目的要求非常模糊。 Scanner類包含多個可以返回String對象的方法。例如:next()和nextLine()。前者返回下一個完整的標記(從字符串開頭到第一個空格),後者返回整行。你可以說一條線可以由多個標記組成。在你的情況下,你可以假設你所說的「物品」是指線而不是標記。
  4. 您從不在代碼中使用giveBack方法
  5. 'nextLine'不是String的有效字段或方法。我不知道你爲什麼試圖調用string1.nextLine(這也會導致編譯錯誤)。此外,您正在捕獲代碼中的兩行不同行。爲什麼你需要再次調用某種「nextLine」方法?

如果你只需要顯示用戶輸入的兩行,刪除你的giveBack方法應該可以解決你的問題。所有你需要做的:

  1. 提示用戶輸入文本
  2. 使用掃描對象的兩條線,使用nextLine()方法來捕獲兩條線。就像你的代碼一樣,答案1和答案2就是這兩條不同的路線。
  3. 使用System.out,將這兩行顯示在屏幕上。如果你想創建一個能夠顯示兩行文本的方法,你只需要創建一個show(String s1,String s2)方法,並把System.out放在這個方法中。然後,只需在main中調用你的'show'方法。
相關問題