Hallo, ich habe hier ein Programm, dass auf Knopfdruck die mehrfach vorkommenden Zeichen in einem String entfernt. Wenn man zum Beispiel "32322" hat kommt "32" heraus. Nun ist mein Problem dass wenn ich mehrere Zahlen in einem String habe ich nur Zahlen unter 10 effektiv "bearbeiten" kann. Wenn ich 10 stehen habe sieht das Programm dies als 1 und 0 und das ist nicht das was ich wollte. Also wie kann ich realisieren, dass das Programm merkt ob jetzt zB 10 oder 1 0 gemeint ist. Vielleicht kann man da irgendwas mit den Kommatas machen ???:L? Schonmal Danke im voraus. Hier noch mein Code zur besseren Verständtnis:
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class test extends JFrame implements ActionListener {
private JPanel panel;
private JLabel label;
private JButton ok;
private String str;
public test() {
panel = new JPanel();
ok = new JButton("OK");
ok.addActionListener(this);
str = "10, 11, 12, 13, 10";
label = new JLabel(str);
panel.add(ok);
panel.add(label);
add(panel);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new test();
}
@Override
public void actionPerformed(ActionEvent arg0) {
String temp="";
HashMap<Integer,Character> tc = new HashMap<Integer,Character>();
char [] charArray = str.toCharArray();
for (Character c : charArray)
{
if (!tc.containsValue(c))
{
temp=temp + c.toString() + ", ";
tc.put(c.hashCode(),c);
}
}
label.setText(temp);
}
}
Zuletzt bearbeitet von einem Moderator: