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.
Hi, da bin ich wieder. ich hab ne ganze zeit jetzt an meinem Programm gesessen, krich 4 fehler aber einfach nichr raus, weil ich nicht weiß, was der compiler von mir will... :bahnhof:
Kann mir vielleicht jemand nochmal helfen?
Code:
import java.awt.Button;
import java.util.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.text.BadLocationException;
public class bidi extends Applet implements ActionListener
{
public JTextArea eingang, ausgang = new JTextArea();
JButton drucken;
public void init()
{
setLayout(new BorderLayout());
setBackground(Color.blue);
ausgang = new JTextArea("ausgang");
drucken = new JButton ("drucken");
add(eingang, BorderLayout.WEST);
add(ausgang, BorderLayout.EAST);
add(drucken, BorderLayout.SOUTH);
eingang = new JTextArea("eingang");
drucken.addActionListener(this) ;
}
public void actionPerformed(ActionEvent e)
{
int lines = eingang.getLineCount();
String newText= "";
for (int i = 0; i < lines; i++)
{
String zeile = null;
try {
int anf = eingang.getLineStartOffset(i);
int end = eingang.getLineEndOffset(i);
int length = end - anf + 1;
zeile = eingang.getText(anf, length);
} catch (BadLocationException ble) {
ble.printStackTrace();
}
if (i % 2 == 1)
{
newText += drehrum(zeile);
}
else
newText += zeile;
}
ausgang.setText(newText);
}
};
private string drehrum(String zeile)
{
String retZeile = "";
for (int i = zeile.length() -1; i >= 0; i--)
{retZeile += zeile.charAt(i);}
return retZeile;
};
}
und die Fehlermeldungen
F:\Java\Bidirektionaler Drucker>"C:\jdk\bin\javac" *.java
bidi.java:62: 'class' or 'interface' expected
private string drehrum(String zeile)
^
bidi.java:71: 'class' or 'interface' expected
}
^
bidi.java:71: 'class' or 'interface' expected
}
^
bidi.java:51: cannot resolve symbol
symbol : method drehrum (java.lang.String)
location: class bidi
newText += drehrum(zeile);
^
4 errors[/quote]
Na dann hast du wohl ganz genau hingesehen! String schreibt man groß und du hast ne Klammer zuviel! Die Fehlermeldungen sind doch verständlich :autsch:
So! Hab mir deinen Quelltext eben kopiert, in Eclipse eingefügt, die Klammer mit dem Strichpunkt entfernt und den String richtig geschrieben. Es geht! :roll:
Also jetzt Läuft das applet zwar, doch wenn ich auf den button drücke, kommt in der ausgangszeile bloß null an. Kann es sein, dass das mit diesem Try zusammenhängt??
1) Empfehlung von meiner Seite aus: Wenn der Compiler was meldet: Nicht direkt die Forum-Seite öffnen und "Neue Antwort erstellen" drücken, sondern erstmal lesen und versuchen selber das Problem zu lösen.
2) Wie wäre es mal wenn du einen Ansatz posten würdest zu dem Problem? hast du ne Ahnung wie man rangehen könnte etc. ?
also der Compiler Meldet ja noch nichtmal was, das Programm machtr bloß nicht das, was ich von ihm will.
Wenn ich mir das programm anschaue, versteh ich ja auch was in den einzelnen zeilen passiert, bloß mit dieser try anweisung komm ich net klar, die kenn ich nämlich nicht. Deswegen hatte ich gefragt, ob das was mit dem try zu tun haben könnte.
Ja!
Bei 1.3 wird's aber auch langsam mal Zeit! Wir sind bei Java5
Dein konkretes Problem kannst du aber natürlich auch ohne RegEx lösen. War ohnehin etwas Overhead, aber ich mag RegEx
Das hat nicht unbedingt was mit Java zu tun. RegEx steht für RegularExpressions(Reguläre Ausdrücke schau unter Wikipedia nach)
Hier noch eine Version ohne RegEx:
Code:
public void actionPerformed(ActionEvent e)
{
StringBuffer text = new StringBuffer();
int offset = 0;
for (int i=0;i<eingang.getLineCount();i++)
{
try
{
if (i%2==0)
{
text.append(eingang.getText().substring(offset,eingang.getLineEndOffset(i)));
}
else
{
StringBuffer reverse = new StringBuffer(eingang.getText().substring(offset,eingang.getLineEndOffset(i)-1));
reverse.reverse();
text.append(reverse+System.getProperty("line.separator"));
}
offset=eingang.getLineEndOffset(i);
}
catch(BadLocationException ex)
{
ex.printStackTrace();
}
ausgang.setText(text.toString());
}
}
ES FUNKTIONIERT!!!!!!!!!!!!!!!!!!
Vielen Dank. Aber eine letzte frage hab ich noch! Wie kann ich die Jtextareas so umschreiben, dass sie breiter sind und dass ein zeilumsprung erfolgt, wenn man am ende der Zeile angekommen ist!
Ja das hab ich mir gedacht und hab beides auchnoch mal für eingang gemacht. Baer der sacht mir dass er Dimension nicht kennt und wenn ich nur die set.lineWrap anweisungen drinne lasse, sieht man meine Textfelder nichmehr
Um Himmels willen! Was glaubst du für was die import statements sind? Wenn du nicht weißt in welchem Package eine Klasse ist und keine IDE benutzt die das für dich macht, dann schau eben in der API nach!
Es ist vollbracht....Das hat mit sicherheit nichtnur mir viel schweiß gekostet
aber eine bitte hab ich noch. Kann man den Treat irgendwie verschwinden lassen, wenn mein Infolehrer den findet bin ich ziemlich im Sack.
Also nochmal danke an alle :applaus:
Es ist vollbracht....Das hat mit sicherheit nichtnur mir viel schweiß gekostet
aber eine bitte hab ich noch. Kann man den Treat irgendwie verschwinden lassen, wenn mein Infolehrer den findet bin ich ziemlich im Sack.
Also nochmal danke an alle :applaus: