Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Also ich schreib an nem Programm und beim kompilieren kommt fehlermeldung:
")" expected
ich habe mehrmals nachgezählt und kontrolliert, es fehlt nirgendwo eine klammer. ich hatte dieses problem vor kurzem schonmal, und da hatte es auch nichts mit Klammern an sich zu tun, ich weiß bloß nicht mehr, wie ich es gelöst hatte.
Also zuerst: ich programmeir noch nich lang in java, kann also sein das das völliger schrott is.
ich hatte es erst als konsolenanwendung, es hat funktioniert. der code:
Code:
import java.io.*;
import java.util.*;
class usa
{
public static void main(String[] args) throws IOException
{
System.out.println("Enter a state of the US (pay attention to the spelling, and please enter RhodeIsland instead of Rhode Island): ");
BufferedReader datei=new BufferedReader (new FileReader ("usa.txt"));
BufferedReader eingabe=new BufferedReader (new InputStreamReader (System.in));
String land=eingabe.readLine();
while (true)
{
String zeile=datei.readLine();
StringTokenizer st=new StringTokenizer(zeile);
String staat=st.nextToken();
String abbre=st.nextToken();
String haupt=st.nextToken();
String nick=st.nextToken();
String pop=st.nextToken();
String area=st.nextToken();
String date=st.nextToken();
int i=land.compareTo(staat);
if (i==0)
{
System.out.println("You've chosen: "+staat+"\nAbbreviation: "+abbre+"\nNickname: "+nick+"\nCapital: "+haupt+"\nPopulation (ranking): "+pop+"\nArea in km² (ranking): "+area+"\nDate of entry (ranking): "+date);
break;
}
}
}
}
jetz versuch ich das grad als GUI zu schreiben. hab damit aber kaum erfahrung. also hat er mir als erstes natürlich angezeigt, unreported exception java.io blablabla, is klar, wegen dem filereader:
dann hab ich überlegt wo man das throws IOException einbinden könnte.
Code:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class usaGUI extends Frame
{
Label intro;
TextField eingabe;
TextArea ausgabe;
Button klick;
class FensterEinstellungen extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
class Schaltergedrueckt implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
String titel=ae.getActionCommand();
if (titel.equals("Show information"))
{
String land=eingabe.getText();
BufferedReader datei=new BufferedReader (new FileReader ("usa.txt"));
while (true)
{
String zeile=datei.readLine();
StringTokenizer st=new StringTokenizer(zeile);
String staat=st.nextToken();
String abbre=st.nextToken();
String haupt=st.nextToken();
String nick=st.nextToken();
String pop=st.nextToken();
String area=st.nextToken();
String date=st.nextToken();
int i=land.compareTo(staat);
if (i==0)
{
ausgabe.setText("You've chosen: \n ");
ausgabe.append(staat);
ausgabe.append("\nAbbreviation: \n " );
ausgabe.append(abbre);
ausgabe.append("\nNickname: \n ");
ausgabe.append(nick);
ausgabe.append("\nCapital: \n ");
ausgabe.append(haupt);
ausgabe.append("\nPopulation (ranking): \n ");
ausgabe.append(pop);
ausgabe.append("\nArea in km² (ranking): \n ");
ausgabe.append(area);
ausgabe.append("\nDate of entry (ranking): \n ");
ausgabe.append(date);
break;
}
}
datei.close();
}
}
}
usaGUI (String titel) //HIER is angeblich der Fehler
{
super(titel);
intro=new Label("Enter a state of the US (pay attention to the spelling, and please enter RhodeIsland instead
of Rhode Island): ");
eingabe=new TextField(20);
ausgabe=new TextArea(16, 40);
klick=new Button("Show information");
setLayout(new FlowLayout(FlowLayout.LEFT));
add(intro);
add(eingabe);
add(klick);
add(ausgabe);
klick.addActionListener(new Schaltergedrueckt());
addWindowListener(new FensterEinstellungen());
}
public static void main(String[] args)
{
usaGUI fenster=new usaGUI("The United States of America");
fenster.pack();
fenster.setSize(500,320);
fenster.show();
}
}
ich habs versucht beim letzten public static void main... einzufügen, klappte aber immer noch net. dann hab ich fast das ganze programm bis auf die hauptklasse usa, mit einem neuen public static void main... mit throws IOException eingeklammert, jetzt sagt er, ")" expected, an der markierten stelle.
Also ich würde spontan mal auf die Zeilen 72-73 tippen. Ich habs noch nie probiert, glaube aber nicht, dass man einen String so über zwei Zeilen schreiben kann.