2014-09-11 59 views
-2
import java.util.Scanner; 

public class Main { 

public static void main(String[] args) { 

    Scanner input = new Scanner(System.in); 
    System.out.println("Enter the name of your favorite insect: "); 
    String userString = input.next(); 

    String lyric = ""; 
    String endlyric = ""; 
    String OneThree = "I'm " +lyric+ "my baby " +userString; 
    String Two = "Won't my Mommy be so proud of me"; 
    int count = 5; 

    while (count != 0) 
    { 

     if (count == 5) 
     { 

      lyric = "bringing home "; 
      endlyric = "OUCH!! It stung me!!"; 
      count = count - 1; 

     } else if (count == 4) 
     { 
      lyric = "squishin' "; 
      endlyric = "ICK!! I feel sick!!"; 
      count = count - 1; 

     } else if (count == 3) { 
      lyric = "barfin "; 
      endlyric = "OH!! What a mess!!"; 
      count = count - 1; 
     } 

     else if (count == 2) 
     { 
      lyric = "wipin' "; 
      endlyric = "OOPS!! Mommy's new towel!!"; 
      count = count - 1; 
     } 

     else if (count == 1) 
     { 
      lyric = "wringin' "; 
      endlyric = "Bye-Bye baby "+userString+ "!!"; 
      count = count - 1; 
     } 

     System.out.println(OneThree); 
     System.out.println(Two); 
     System.out.println(OneThree); 
     System.out.println(endlyric); 
     System.out.println(""); 

    } 

} 
} 

由於某些奇怪的原因,歌詞變量將不會打印......我得到一個錯誤,指出它未被使用。我已初始化變量。其他變量工作正常,但那一個請幫助...未使用的字符串變量

回答

1

您的代碼中的任何地方後,您沒有使用lyric變量賦值。在它被初始化爲非空值之前,您確實使用它。

String OneThree = "I'm " +lyric+ "my baby " +userString;將變成"I'm my baby " +userString;,因爲在它被分配的時候,lyric是空的。之後將lyric更改爲非空的事實不會產生影響,因爲您在分配後再也不會訪問它。

你可以初始化OneThree到:

字符串OneThree = 「我是{0}我的寶貝」 + userString;

然後,而不是System.out.println(OneThree);System.out.println(String.format(OneThree,lyric));。 這會將字符串中的當前值lyric

+0

Java總是初始化其變量,但他在這裏。 – 2014-09-11 01:14:30

+1

@drakej修復了我的答案。他將其初始化爲空字符串 – Eran 2014-09-11 01:15:01

1

爲了增加葉蘭的回答是:

值:

String OneThree = "I'm " +lyric+ "my baby " +userString; 

當抒情userString變化,它是一個時間設置不更新。

在循環中更新它,打印時會看到更改。

0

package com.freelancej; import java.util.Scanner;

公共類主要{

public static void main(String[] args) { 

    Scanner input = new Scanner(System.in); 
    System.out.println("Enter the name of your favorite insect: "); 
    String userString = input.nextLine(); 
    System.out.println(""); 

    String lyric = ""; 
    String endlyric = ""; 
    String OneThree = "I'm " +lyric+ "my baby " +userString; 
    String Two = "Won't my Mommy be so proud of me"; 
    int count = 5; 

    while (count != 0) 
    { 

     if (count == 5) 
     { 

      lyric = "bringing home "; 
      endlyric = "OUCH!! It stung me!!"; 
      **OneThree = "I'm " +lyric+ "my baby " +userString;** 
      count = count - 1; 

     } else if (count == 4) 
     { 
      lyric = "squishin' "; 
      endlyric = "ICK!! I feel sick!!"; 
      **OneThree = "I'm " +lyric+ "my baby " +userString;** 
      count = count - 1; 

     } else if (count == 3) { 
      lyric = "barfin "; 
      endlyric = "OH!! What a mess!!"; 
      OneThree = "I'm " +lyric+ "my baby " +userString; 
      count = count - 1; 
     } 

     else if (count == 2) 
     { 
      lyric = "wipin' "; 
      endlyric = "OOPS!! Mommy's new towel!!"; 
      **OneThree = "I'm " +lyric+ "my baby " +userString;** 
      count = count - 1; 
     } 

     else if (count == 1) 
     { 
      lyric = "wringin' "; 
      endlyric = "Bye-Bye baby "+userString+ "!!"; 
      **OneThree = "I'm " +lyric+ "my baby " +userString;** 
      count = count - 1; 
     } 

     System.out.println(OneThree); 
     System.out.println(Two); 
     System.out.println(OneThree); 
     System.out.println(endlyric); 
     System.out.println(""); 

    } 

} 

}

想通了謝謝你們笑....感覺像一個混日子,但我需要另一套的眼睛! :)