Hallo,
wie schon im Titel erwähnt, habe ich folgendes Problem: Wir müssen ein Programm schreiben, in dem der Benutzer einen Dateinamen eingibt, sowie einen Buchstaben. Danach soll ausgegeben werden, wie oft der Buchstabe in der Datei vorkommt.
Ich habe schon lange rumgespielt, compiliert hat er, jedoch bekomme ich eine Fehlermeldung wenn ich den Buchstaben eingeben will. Die Fehlermeldung lautet:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String i
ex out of range: 3
at java.lang.String.charAt(Unknown Source)
at ChallengeFour.main(ChallengeFour.java:35)
Der Code ist:
Wär echt toll, wenn ihr einen Tipp habt, wie ich das Problem lösen kann, oder wo der Fehler liegt.
Programmiere erst seit 2 Monaten, daher bin ich noch ziemlicher Anfänger ..
Lg
wie schon im Titel erwähnt, habe ich folgendes Problem: Wir müssen ein Programm schreiben, in dem der Benutzer einen Dateinamen eingibt, sowie einen Buchstaben. Danach soll ausgegeben werden, wie oft der Buchstabe in der Datei vorkommt.
Ich habe schon lange rumgespielt, compiliert hat er, jedoch bekomme ich eine Fehlermeldung wenn ich den Buchstaben eingeben will. Die Fehlermeldung lautet:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String i
ex out of range: 3
at java.lang.String.charAt(Unknown Source)
at ChallengeFour.main(ChallengeFour.java:35)
Der Code ist:
Java:
import java.util.Scanner;
import java.io.*;
public class ChallengeFour
{
public static void main (String [] args) throws IOException
{
Scanner keyboard = new Scanner(System.in);
String fileName;
char letter;
int counter = 0;
int i;
System.out.print("Enter the name of the file: ");
fileName = keyboard.nextLine();
File myFile = new File(fileName);
Scanner inputFile = new Scanner(myFile);
System.out.print("Enter a character (small letter) you want to know: ");
letter = keyboard.next().charAt(0);
while (Character.isUpperCase(letter))
{
System.out.print("You have to enter a small letter! Enter again a character: ");
letter = keyboard.next().charAt(0);
}
while (inputFile.hasNext())
{
//String str = inputFile.nextLine();
for (i = 0; i < inputFile.next().length(); i++)
{
if (inputFile.next().charAt(i) == letter)
counter ++;
}
}
System.out.println("In the file there are" + counter + letter);
inputFile.close();
}
}
Wär echt toll, wenn ihr einen Tipp habt, wie ich das Problem lösen kann, oder wo der Fehler liegt.
Programmiere erst seit 2 Monaten, daher bin ich noch ziemlicher Anfänger ..
Lg