DocRandom hat gesagt.:..sorry, das ich auf Deine Postings nicht mehr geantwortet habe, aber ich miußte zu einem Kunden und kam erst sehr spät ( 03:00 Uhr) wieder nach hause.
import java.util.*;
import java.io.*;
public class EnglishOrGerman
{
private static int englishCounter=0;
private static int germanCounter=0;
private static void EnglishGerman(String sentence)
{
String[] temp = sentence.split(" ");
for(int i =0; i<temp.length; i++)
{
String word = temp[i];
if(german.contains(temp[i]))
{
germanCounter++;
}
else if(english.contains(temp[i]))
{
englishCounter++;
}
}
}
public static void main(String[] arg)
{
HashSet german=new HashSet();
HashSet english=new HashSet();
german.add("der");
german.add("die");
german.add("das");
german.add("Ich");
german.add("dies");
german.add("für");
german.add("und");
german.add("habe");
german.add("hab");
german.add("ein");
german.add("einen");
english.add("the");
english.add("a");
english.add("this");
english.add("I");
english.add("for");
english.add("and");
english.add("Iam");
english.add("I'm");
{
try
{
BufferedReader stdin = new BufferedReader(new FileReader("/home/lars/sprache.txt"));
String line;
while( (line = stdin.readLine()) != null)
{
EnglishGerman(line);
}
}
catch(IOException ex)
{
System.out.println(ex);
}
if(englishCounter > germanCounter)
{
System.out.println("Der Text in der Datei ist wahrscheinlich englisch");
}
else if(germanCounter > englishCounter)
{
System.out.println("Der Text in der Datei ist wahrscheinlich deutsch");
}
else
{
System.out.println("Der Text in der Datei ist wahrscheinlich weder deutsch noch englisch!");
}
}
}
}
X-Treme hat gesagt.:Der Compiler findet das HashSet irgendwie nicht! Ich hab auch keine Ahnung wo das stehen muss!!!!!
X-Treme hat gesagt.:Also ich versteh das so, dass der Compiler an der Stelle wo er das HashSet durchsuchen soll, denkt, dass english & german Variablen sind!
Jupp. Wichtig ist dann noch, dass Du in der main nicht ebenfalls noch zwei HashSets mit den gleichen Namen anlegst.X-Treme hat gesagt.:Ich nehm mal an du meints private static HashSet german; usw.
import java.util.*;
import java.io.*;
public class EnglishOrGerman
{
private static int englishCounter=0;
private static int germanCounter=0;
private static HashSet german;
private static HashSet english;
private static void EnglishGerman(String sentence)
{
String[] temp = sentence.split(" ");
for(int i =0; i<temp.length; i++)
{
String word = temp[i];
if(german.contains(temp[i]))
{
germanCounter++;
}
else if(english.contains(temp[i]))
{
englishCounter++;
}
}
}
public static void main(String[] arg)
{
HashSet germanHash=new HashSet();
HashSet englishHash=new HashSet();
german.add("der");
german.add("die");
german.add("das");
german.add("Ich");
german.add("dies");
german.add("für");
german.add("und");
german.add("habe");
german.add("hab");
german.add("ein");
german.add("einen");
english.add("the");
english.add("a");
english.add("this");
english.add("I");
english.add("for");
english.add("and");
english.add("Iam");
english.add("I'm");
{
try
{
BufferedReader stdin = new BufferedReader(new FileReader("/home/lars/sprache.txt"));
String line;
while( (line = stdin.readLine()) != null)
{
EnglishGerman(line);
}
}
catch(IOException ex)
{
System.out.println(ex);
}
if(englishCounter > germanCounter)
{
System.out.println("Der Text in der Datei ist wahrscheinlich englisch");
}
else if(germanCounter > englishCounter)
{
System.out.println("Der Text in der Datei ist wahrscheinlich deutsch");
}
else
{
System.out.println("Der Text in der Datei ist wahrscheinlich weder deutsch noch englisch!");
}
}
}
}
X-Treme hat gesagt.:Meinst du so: private static HashSet german = new HashSet(); ?
Da hab ich wohl was nicht mitbekommen - ich dachte, wir wären noch bei "es geht nicht, es komt aber auch keine Fehlermeldung"? Was ist denn aktuelle die Fehlermeldung? Und poste doch zur Sicherheit nochmal den aktuellen Code.X-Treme hat gesagt.:mmer noch die selbe Meldung!
import java.util.*;
import java.io.*;
public class EnglishOrGerman
{
private static int englishCounter=0;
private static int germanCounter=0;
private static HashSet german = new HashSet();
private static HashSet english = new HashSet();
private static void EnglishGerman(String sentence)
{
String[] temp = sentence.split(" ");
for(int i =0; i<temp.length; i++)
{
String word = temp[i];
if(german.contains(temp[i]))
{
germanCounter++;
}
else if(english.contains(temp[i]))
{
englishCounter++;
}
}
}
public static void main(String[] arg)
{
german.add("der");
german.add("die");
german.add("das");
german.add("Ich");
german.add("dies");
german.add("für");
german.add("und");
german.add("habe");
german.add("hab");
german.add("ein");
german.add("einen");
english.add("the");
english.add("a");
english.add("this");
english.add("I");
english.add("for");
english.add("and");
english.add("Iam");
english.add("I'm");
try
{
BufferedReader stdin = new BufferedReader(new FileReader("/home/lars/sprache.txt"));
String line;
while( (line = stdin.readLine()) != null)
{
EnglishGerman(line);
}
}
catch(IOException ex)
{
System.out.println(ex);
}
if(englishCounter > germanCounter)
{
System.out.println("Der Text in der Datei ist wahrscheinlich englisch");
}
else if(germanCounter > englishCounter)
{
System.out.println("Der Text in der Datei ist wahrscheinlich deutsch");
}
else
{
System.out.println("Der Text in der Datei ist wahrscheinlich weder deutsch noch englisch!");
}
}
}
AlArenal hat gesagt.:Dass dein Programm funktioniert ist dir aber nicht zufällig aufgefallen?
public static void main(String[] arg) {
String fileName = (args.length > 0) ? args[0] : "/home/lars/sprache.txt";
/* ... */
BufferedReader stdin = new BufferedReader(new FileReader( fileName));
}
public static void main(String[] arg) {
String fileName;
if (args.length > 0) {
fileName = args[0];
} else {
fileName = "/home/lars/sprache.txt";
}
/* ... */
BufferedReader stdin = new BufferedReader(new FileReader( fileName));
}