Я хочу изучить последовательность строк, вычислить среднюю длину строки и подсчитать, сколько строк превышает среднюю длину.Java - Строки и одномерные массивы
До сих пор в моем коде он только считывал ints, а строка также имела символы. Итак, как мне изменить код, чтобы он работал для строк, а не int. Я знаю, что первый шаг - вывести методы nextInt и изменить его для работы с строками, а также с другими переменными int в коде. Кто-нибудь может мне помочь?
// examine a sequence of strings
// compute the average string length
// count how many strings are above the average length
import java.util.*;
public class StringArrayTest {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.println("What is the number of strings? ");
int numStrings = console.nextInt();
String[] strings = new String[numStrings];
// record strings to find average length
int sum = 0;
for (int i = 0; i < numStrings; i++) {
System.out.println("Number of strings from string " + (i + 1) + ": ");
String nextLine = console.next();
strings[i] = nextLine;
sum += strings[i].length;
}
double average = (double) sum/numStrings;
// count strings above average length
int above = 0;
for (int i = 0; i < strings.length; i++) {
if (strings[i].length() > average) {
above++;
}
}
// report results
System.out.println();
System.out.println("Average length of strings: " + average);
System.out.println(above + " strings above average length");
}
}
Отредактированный исходный код с изменениями, которые вы указали. Все еще не работает. Пожалуйста, ознакомьтесь с моими изменениями в коде выше –
w00t !! Вы должны назначить строку, которую вы прочитали в массиве, а затем использовать ее. строки [i] = nextLine; кажется, отсутствует в вашем коде. – aksappy
Мне нужно использовать метод Scanner next() вместо nextLine(), чтобы получить строки –