Подстрока In для в Java Netbeans - PullRequest
0 голосов
/ 26 февраля 2019
String x = grades.getText();
String [] grades = new String [100]; 
for (int i = 0; i < x.length() ;i++) {
    if (x.charAt(i) == ',') {
        grades[i] = x.substring(0, i);
        x = x.substring(i + 1, x.length());
        System.out.println(grades[i]);
    }
}

В этом коде я хочу, чтобы оценки Массива имели все оценки, которые я ввел для строки x.

Строка x должна выглядеть следующим образом: "3,5,6,7"

И я хочу, чтобы каждая строка в массиве получала число без ",".Таким образом, это должно напечатать это:

3 //saved in grades[0];
5 //saved in grades[1];
6 //saved in grades[2];
7 //saved in grades[3];

Но это печатает, что:

"3 5"

Спасибо!

Ответы [ 4 ]

0 голосов
/ 26 февраля 2019

Вот как должен выглядеть ваш код, чтобы распечатать его по запросу.

String x = grades.getText();
String [] grades = x.split(",");
for(String grade : grades){
    System.out.println(grade);
}
0 голосов
/ 26 февраля 2019

Если вы удивляетесь, почему ваш код работает неправильно,

Каждая итерация после уменьшения x, вы должны посмотреть начало x, равного 0, но ваш i не придет к 0 снова, так что вы должны заставить его,

String x = grades.getText();
    String [] grades = new String [100]; 
    for (int i = 0; i < x.length() ;i++) {
        if (x.charAt(i) == ',') {
            grades[i] = x.substring(0, i);
            x = x.substring(i + 1, x.length());
            System.out.println(grades[i]);
            i = 0;
        }
    }
      System.out.println(x); //last x will your last element
0 голосов
/ 26 февраля 2019

Попробуйте этот код, основываясь на ответе Руслана.

String x = grades.getText();
String[] gradesArray = x.split(","); 
for (int i=0; i < gradesArray.length; i++) {
    System.out.println(gradesArray[i]);
}
0 голосов
/ 26 февраля 2019

Вам не нужно делать такой сложный цикл for.Существует split метод:

String[] grades = x.split(",");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...