2016-06-28 2 views
-2

У меня есть этот массив строк, в котором состоит строка, представляющая идентификатор студента, имя, фамилию, адрес электронной почты и оценки. Мой вопрос: есть ли я, я могу разделить каждую запись в этом массиве и уметь вычислять средний класс учащегося в этой записи массива образцов. Я был бы признателен, если кто-нибудь может предложить какое-то решение о том, как добиться этого в этом массиве.Обработка массива в Java

String[] students = {"1,John,Smith, [email protected] ,20,88,79,59", 
        "2,Suzan,Erickson, [email protected] ,19,91,72,85", 
        "3,Jack,Napoli, [email protected],19,85,84,87", 
        "4,Erin,Black, [email protected],22,91,98,82"}; 
+3

Проведите некоторое исследование и прочитайте документы. Вы легко сможете узнать, как вы разделили строку. – SamTebbs33

+4

http://stackoverflow.com/questions/3481828/how-to-split-a-string-in-java Эта ссылка должна дать вам представление о том, как разделить строку на Java. – Module

+0

google как разбить строки в java и попробовать свои силы. если у вас есть трудности, вы приходите и вставляете свой код с проблемой, которую у вас есть. это единственный способ помочь вам. Никто не собирается писать код для вас здесь, если вы не покажете нам, что вы пробовали до сих пор. –

ответ

0

Вот кусок кода, который делает то, что вы хотите:

String[] students = ... 
double[] averages = new double[students.length]; 

for (int i = 0; i < students.length; i++) { 
    String[] student = students[i].split(","); 
    int sum = 0; 

    for (int j = 4; j < student.length; j++) { 
     sum += Integer.parseInt(student[j]); 
    } 

    averages[i] = (double) sum/(student.length - 4); 
} 

Массив averages будет содержать все средние на том же самом положении. Обратите внимание, что этот код не обрабатывает неправильный формат и что он предполагает, что все остальные значения являются оценками.

-1

Я думаю писать код для вас не будет так уместно ... Тем не менее, я могу предложить то, что должно быть сделано: 1. Разделить каждую строку, используя класс строк раскола (регулярное выражение). Вы можете просто разбить строку запятой. (https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String)) 2. Просто добавьте оценку и разделите размер массива студентов.

Прошу прощения, если вы ожидали, что кто-то предоставит код ... но учится!

+0

, что вы говорите правду, и у меня уже есть код для него – bencho

-2
public static void main(String[] args) { 
    int grades = 0; 
    String[] students = { "1,John,Smith,[email protected],20,88,79,59", 
      "2,Suzan,Erickson,[email protected] ,19,91,72,85", "3,Jack,Napoli,[email protected],19,85,84,87", 
      "4,Erin,Black,[email protected],22,91,98,82" }; 
    for (int i = 0; i < students.length; i++) { 
     String[] student = students[i].split(","); 
     for (int j = 4; j < student.length; j++) { 
      grades += Integer.parseInt(student[j]); 

     } 
     grades=0;System.out.println(student[2] + ": " +(double) grades/(student.length - 4)); 
    } 
} 
+0

@Nunomr, спасибо, я могу видеть из вашего кода, где именно я сделал ошибку в своем первоначальном коде. – bencho

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