erstmal hallo; cooles forum
ich hab vor ein paar wochen mit java angefangen;
komm jetzt an einer stelle nicht weiter;
undzwar hab ich ein kleines programm geschrieben das mir aus einer datei text ausliest und die buchstaben von a-z
zusammenzählt...
jetzt wollte ich die werte in einem kleinen diagramm ausgeben, aber irgendwie kann ich der protected void paintComponent den string s nicht übergeben;
ich hab irgendwie nen denkfehler, kann mir jemand helfen?
gruß
gabriel
ich hab vor ein paar wochen mit java angefangen;
komm jetzt an einer stelle nicht weiter;
undzwar hab ich ein kleines programm geschrieben das mir aus einer datei text ausliest und die buchstaben von a-z
zusammenzählt...
jetzt wollte ich die werte in einem kleinen diagramm ausgeben, aber irgendwie kann ich der protected void paintComponent den string s nicht übergeben;
ich hab irgendwie nen denkfehler, kann mir jemand helfen?
Code:
import java.io.*;
import java.awt.*;
import javax.swing.*;
public class Go extends JComponent{
public static void main(String[] argv) {
if (argv.length == 0) {
System.err.println("Bitte einen Dateinamen angeben");
return;
}
String s = argv[0];
int[] out=counter(s);
//System.out.println(out[0]);
JFrame aJFrame = new JFrame("SHOW");
aJFrame.getContentPane().add(new Go(), BorderLayout.CENTER);
aJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
aJFrame.pack();
aJFrame.setVisible(true);
}
public static int[] counter(String s){
int[] counter = new int[26];
try{
BufferedReader buffReader = new BufferedReader(new FileReader(s));
String fullFile = "";
String input = "";
while((input = buffReader.readLine()) != null) {
fullFile += input;
}
buffReader.close();
fullFile = fullFile.toLowerCase();
for(int i=0;i<fullFile.length();i++){
char test = fullFile.charAt(i);
int count = (int) fullFile.charAt(i);
if(count>=97&&count<=122){
counter[count-97]++;
}
}
}
catch (IOException e) {
e.printStackTrace();
}
return counter;
}
public Dimension getPreferredSize() {
return new Dimension(820,400);
}
protected void paintComponent(Graphics g) {
//int[] out=counter(s);
for (int x=0;x<26;x++){
g.setColor(Color.black);
g.fillRect(x*30, 200, 10, 50);
}
}
}
gruß
gabriel