Pareto Verteilung

Status
Nicht offen für weitere Antworten.

X-Treme

Bekanntes Mitglied
Hi Leute,

heut ist mein letzter Tag im Praktikum und hätte mal ne Frag, die mehr oder weniger mit Java direkt zu tun hat! Also Ihr erinnert euch vllt an das Programm mit der Sprachsuche. Also englisch oder deutsch! Auf jeden fall hät ich gerne gewusst, wie Ihr das seht. also wie könnte man das Programm (wenn man von einer gewissen ungenauigkeit ausgeht) in 80% und 20% aufteilen? Also was an dem Prog deckt 80% der Arbeit und was 20% ab?

Kleines Rätsel am Morgen^^

MfG

X-Treme
 

X-Treme

Bekanntes Mitglied
nochmal für die Leute, die das Prog net kennen!

Code:
import java.util.*;
import java.io.*;
import java.util.regex.*;


public class EnglishOrGerman 
{

public static void zeichen( String Splits[] )
{
	for( int i = 0; i < Splits.length; i++ )
		System.out.print( Splits[i] + " " );
			System.out.println();
}

public static void main(String[] args) 
{
	int englishCounter=0;
	int germanCounter=0;
	HashSet german = new HashSet();
	HashSet english = new HashSet();

		if(args.length !=  1)
		{
			System.out.println("Usage: java EnglishOrGerman filename");
			System.exit(0);
		}
		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");
		german.add("ist");
	
		english.add("the");
		english.add("a");
		english.add("this");
		english.add("i");
		english.add("for");	
		english.add("and");
		english.add("am");
	
	try 
	{                    
		BufferedReader stdin = new BufferedReader(new FileReader(args[0]));
		String line;
		String[] temp;
		Pattern p = Pattern.compile( "[ ;,:\"]" );
		int i;
		while( (line = stdin.readLine()) != null)  
		{  
			temp = p.split ( line );
			zeichen( temp); 
			for(i =0; i<temp.length; i++)
			{
				if(german.contains(temp[i]))
				{
					germanCounter++;
				}
				else if(english.contains(temp[i]))
				{
					englishCounter++;			
				}
			}
		}
	}
 
	catch(IOException ex) 
	{
	 	ex.printStackTrace(System.out);
	}
		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

Bekanntes Mitglied
Is nur ein kleines Rätsel. Postet mal einfach irgendwelche Ideen. Ein bischen offtopic

X-Treme :D
 
S

SlaterB

Gast
und wenn nur auf diesen Code bezogen,
dann findet es sich ja offensichtlich > 80% der Zeit in der while-Schleife
 

X-Treme

Bekanntes Mitglied
schon gute Idee, aber so ist das nicht gemeint! Also ich bin der Meihnung, dass die Suchwörter (die 10 häufgtsen, wenn man von dieser Ungenauigkeit ausgeht) 80% der Aufgabe des Programms erfüllen! Ich frag mich nur, wo denn bitteschön die anderen 20% herkommen! Da ich halt nur dieses eine Kriterium hab, ist für mich nicht ersichtlich wo diese denn herkommen sollen!

MfG

X-Treme
 

X-Treme

Bekanntes Mitglied
Bin schon drauf gekommen, dass war halt so gemeint, dass die (ganz ganz grob) 20% der Wörter (die ich im Prog hab) zu 80% in jedem satz vorkommen^^

aber mal gut zu wissen!

So, ich glaub, dass wir uns nie wieder schreiben werden, deßhalb Danke na dieser Stelle für dieses echt geniale Forum! Macht weiter so und helft so unwissenden Menschen wie mir^^

Mit freundlichen Grüßen

X-Treme

p.s. Join the Joy Division^^
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben