Ich möchte eine Sequenz von Strings untersuchen, die durchschnittliche Stringlänge berechnen und zählen, wie viele Strings über der durchschnittlichen Länge liegen.Java - Strings und eindimensionale Arrays
Bis jetzt, in meinem Code, liest es nur Ints, und eine Zeichenfolge hat auch Zeichen. Wie ändere ich meinen Code so, dass er für Strings und nicht für int funktioniert? Ich weiß, dass der erste Schritt ist, die nextInt-Methoden herauszunehmen und sie so zu ändern, dass sie sowohl für Strings als auch für die anderen int-Variablen im Code funktioniert. Kann mir jemand helfen?
// 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");
}
}
Edited ursprünglichen Code mit den Änderungen, die Sie sagten. Funktioniert immer noch nicht. Bitte beachten Sie meine Änderungen im Code jetzt über –
w00t !! Sie müssen den String, den Sie gelesen haben, dem Array zuweisen und dann verwenden. Zeichenfolgen [i] = nextLine; scheint in Ihrem Code zu fehlen. – aksappy
Ich muss die Scanner-Methode next() anstelle von nextLine() verwenden, um die Zeichenfolgen –