2014-10-28 55 views
-2

一個while循環我有這樣一段代碼:計數變量在Java中

while(i > 0) { 
    System.out.println(m+i); 
    // DO SOMETHING 
    i--; 
} 

,我們得到了輸入:im1m2 ... 讓我們說:i=2m1=testm2=blabla

我想要m1,m2m3取決於i。當我= 2「blabla」應該打印出來。當i = 1時,應打印出「測試」。我試過m+i,但輸出是m1,而不是數值。

任何人都可以解釋爲什麼m+i不起作用,爲什麼它不使用m1m的值? 任何人都有一個想法如何解決它?

+0

不能構造那樣的可變..地點M1,M2,M3 ...以陣列(說'M')和使用'米[我]'在循環.. – TheLostMind 2014-10-28 11:54:01

+0

什麼是你需要什麼輸出,你到目前爲止嘗試過什麼? – 2014-10-28 11:54:21

+0

你知道什麼System.out.println(m + i);正在表演..?根據你的代碼,即使「m + i」也不會顯示爲輸出。更好地瞭解一些變量和字符串如何操作的基礎知識。 – user562 2014-10-28 11:54:54

回答

0

您正在使用的方法在java中是不可能的。 我們假設i=2,你會在循環中打印出m+i,它只會打印出m的值和i的值,這與變量m1不一樣!

因此,System.out.println(m+i);只是一個輸出,並具有絕對沒有關係,M1,M2 ... 你應該嘗試不同的方法,如數組:

int i = 2; 
String[] array = new String[] { "test", "blabla" }; //instead of m1, m2, use an array 
while (i > 0) { 
    System.out.println(array[i - 1]); // -1 because array starts at position 0, not 1 
    i--; 
} 

我強烈建議你練的java多一點,重要的是要了解諸如「變量如何工作?」等基礎知識。

1

這聽起來像你想要做的是某種switch語句。例如:

int i = 2; 
string m1 = "test"; 
string m2 = "blabla"; 
while(i > 0) 
{ 
    System.out.println(i); //will print out the number i is currently 

    switch(i) 
    { 
    case 2: 
     System.Out.Println(m2); //will print out the m2 variable if i is 2 
     break; 
    case 1: 
     System.Out.Println(m1); //will print out the m2 variable if i is 1 
     break; 
    default: 
     break; //anything else, and nothing will be printed 
    } 
    i--; 
} 

應該是你在找什麼。但是,有幾件事情需要注意:在java中

  1. 變量,以及如何使用它們
  2. System.Out.Println,什麼一樣。
  3. 使用switch和/或for環路