2013-03-07 3 views
0

Итак, я создал массив «generateUser» в методе, который называется моим главным. Однако, когда я запускаю его, он заменяет значение индексом кумулятивным значением i. вместо того, чтобы каждый раз, когда появляется dectile 7, он просто заменяет индекс 7 текущим значением i. я вижу, что не так, но я не знаю, как это исправить. Я думаю, что проблема линияИзменение значения массива java

список [к] = ++ я; // HELP

public static int [] generateUser(int n) 
{ 
    //pass number of students int n; 
    int [] list = new int[10]; 
    int i=0; 
    int total, counter, k; 
    int score; 
    String str3; 
    total = counter =0; 


    while (total < n) 
    { 

    str3 = JOptionPane.showInputDialog("Please enter the score: (1-100) "); 
    score = Integer.parseInt(str3); 
    System.out.print(str3+"\t"); 
     if (score <1 || score >100) 
      { 
       JOptionPane.showMessageDialog(null,"The data must be betwen 1 and  100."); 
      } 
     k = (score-1)/10; 

     list[k]=++i;//HELP 
     total = counter ++; 
    } 
     return list; 

ответ

2

Я не понимаю, где вы устанавливаете i. Не вы просто хотите:

list[k]++; 

к incremement дециле по индексу k?

+0

Я пробовал это и получил ошибку компилятора. :( – MaryK

+0

ummm slash Я идиот – MaryK

+0

У меня был список [k] = ++; Не могу поверить, что я потратил час, чтобы исправить это. Спасибо Brian! – MaryK

0

я, что вы хотите что-то вроде этого:

list[counter]=k; 

, так как и хотите, чтобы заполнить список с пользователей в конце концов?

с list[k]=++i; вы не указали свой индекс. Вы устанавливаете значение в позиции k в списке массивов.

Смежные вопросы