2014-10-28 79 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环路