need help ; Werte aus einer Datei auslesen

Status
Nicht offen für weitere Antworten.

KensAvatar

Neues Mitglied
Hallo liebe Community,

Ich hab mal ein bisschen im Forum rumgestöbert und finde es wirklich super hier....Vor allem, dass es immer jemanden gibt, der eine passende Antwort parat hat ;)

Da habe ich mir als Anfänger gedacht, dass mir hier eventuell auch geholfen werden kann.

Nun zu meinem Problem:

Ich soll ein Programm zur Bremswegberechnung erstellen. Bin auch soweit fertig, mir fehlen nur noch ein paar Sachen zum Glück und zur Funktionalität des Programms.
Das GUI ist fertig und funktioniert soweit auch.

Ich habe eine Datei, die sich Verzögerungswerte.txt nennt. Die wird mit dem BufferedReader ausgelesen und ich kann Sie auch auf der Console ausgegeben.
Das Problem daran ist, dass dadurch die ganze Zeile ausgegeben wird. Es ist aber ein Zahlenwert in jeder Zeile, die so aussieht:

Wählen Sie einen Verzögerungswert aus:
Glatteis 1,0
nasses Glatteis 0,5
trockenes Glatteis 1,5
Schneeglätte 1,5
Schneekette auf Eis 2,0
gestreute Schneefahrbahn 2,0
festgefahrener Schnee, M&S-Reifen 2,5
verschmierte Fahrbahn 1,5
LKW, beladen, Nässe, schleudernd 3,0
LKW, leicht beladen, kräftig schleudernd 3,5
LKW, trockene Fahrbahn 4,5
LKW, unbeladen, trockene Fahrbahn 5,0
LKW, Anhänger leer, trockene Fahrbahn 5,0
LKW, leicht, , trockene Fahrbahn 5,5
Motorrad (nur Hinterrad) 4,0
Motorrad (nur Vorderrad) 6,5
Motorrad (optimaler Bremseinsatz) 10,0
PKW, schlechte Wegstrecke 4,0
PKW, nasse Fahrbahn 4,5
PKW, nasser Asphalt 5,5
PKW, M&S-Reifen, trockene Fahrbahn 5,5
PKW, beladen, trockener Beton 6,0
PKW, beladen, trockenes Pflaster 6,0
PKW, trockene Fahrbahn 6,5
PKW mit ABS 7,5
PKW, griffige Fahrbahn 7,0
PKW, besonders griffige Fahrbahn 8,0
Sportwagen, griffige Fahrbahn 7,5

Mein Problem ist jetzt, diesen Zahlenwert aus der Datei "rauszufiltern" und in mein GUI einzubinden.

Ich habe auch den Quellcode hinzugefügt, vielleicht hilft der ja weiter.
Wie gesagt bin noch ein absoluter Anfänger, also bitte haut mich nicht^^

Wäre echt super, wenn mir jemand helfen könnte.

MfG
Ken


Java:
package bremsweg;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Event;
import java.awt.BorderLayout;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.security.Key;
import java.text.DecimalFormat;
import java.util.Vector;

import javax.swing.KeyStroke;
import javax.swing.JPanel;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JToggleButton;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JProgressBar;
import javax.swing.JCheckBox;
import javax.swing.JSlider;
import javax.swing.JTextPane;
import javax.swing.JTable;

import java.io.File;

public class Berechnung extends JFrame
	{
		private static final long serialVersionUID = 1L;

		private JPanel jContentPane = null;

		private JTextField Reaktionszeit = null;

		private JTextField jTextField = null;

		private JTextField jTextField1 = null;

		private JTextField jTextField2 = null;

		private JTextField jTextField3 = null;

		private JTextField jTextField4 = null;

		private JTextField jTextField5 = null;

		private JTextField jTextField6 = null;

		private JTextField jTextField7 = null;

		private JTextField jTextField8 = null;

		private JTextField jTextField9 = null;

		private JTextField jTextField10 = null;

		private JButton Löschen = null;

		private JButton Rechnen = null;

		private JComboBox Verzögerung = null;

		private JTextField geschwindigkeit = null;

		private JRadioButton ms = null;

		private JRadioButton kmh = null;

		private JButton schwellzeitwerte = null;

		private File datei = new File("Verzögerungswerte.txt");

		private BufferedReader BuffReader;

		private FileReader reader;

		DecimalFormat ausgabe = new DecimalFormat("#,##0.00");

		private void Auslesen()
			{
				try 
					{
					reader = new FileReader(datei);
					BuffReader = new BufferedReader(reader);
					while (BuffReader.ready())
						{
						Verzögerung.addItem(BuffReader.readLine());
						}
					BuffReader.close();

					}
				
				catch (Exception ex) 
				{
				}

			}

		private JTextField getReaktionszeit()
			{
				if (Reaktionszeit == null) {
					Reaktionszeit = new JTextField();
					Reaktionszeit.setBounds(new java.awt.Rectangle(63, 194,
							111, 42));
					Reaktionszeit.setText("0,2");
					Reaktionszeit
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					Reaktionszeit
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Umsetzzeit [s]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					Reaktionszeit.setEditable(false);
				}

				return Reaktionszeit;
			}

		private JTextField getJTextField()
			{
				if (jTextField == null) {
					jTextField = new JTextField();
					jTextField.setBounds(new java.awt.Rectangle(63, 250, 111,
							42));
					jTextField
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Schwellzeit [s]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField.addKeyListener(new KeyAdapter() {
						public void keyTyped(KeyEvent f)
							{
								if (!(Character.isDigit(f.getKeyChar())
										|| f.getKeyChar() == 8
										|| f.getKeyChar() == 10
										|| f.getKeyChar() == 127
										|| f.getKeyChar() == '.' || f
										.getKeyChar() == ',')) {
									JOptionPane.showMessageDialog(jContentPane,
											"Nur Ziffern erlaubt!");
									f.consume();
								}

							}

					}

					);
				}

				return jTextField;
			}

		private JTextField getJTextField1()
			{
				if (jTextField1 == null) {
					jTextField1 = new JTextField();
					jTextField1.setBounds(new java.awt.Rectangle(63, 306, 111,
							42));
					jTextField1
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField1
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Ansprechzeit [s]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField1.setText("0,05");
					jTextField1.addKeyListener(new KeyAdapter() {
						public void keyTyped(KeyEvent f)
							{
								if (!(Character.isDigit(f.getKeyChar())
										|| f.getKeyChar() == 8
										|| f.getKeyChar() == 10
										|| f.getKeyChar() == 127
										|| f.getKeyChar() == '.' || f
										.getKeyChar() == ','))
									;
								{
									JOptionPane.showMessageDialog(jContentPane,
											"Nur Ziffern erlaubt!");
									f.consume();
								}

							}

					}

					);
				}

				return jTextField1;
			}

		private JTextField getJTextField2()
			{
				if (jTextField2 == null) {
					jTextField2 = new JTextField();
					jTextField2.setBounds(new java.awt.Rectangle(63, 362, 111,
							42));
					jTextField2
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Bremszeit [s]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField2
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField2.setEditable(false);
				}
				return jTextField2;
			}

		private JTextField getJTextField3()
			{
				if (jTextField3 == null) {
					jTextField3 = new JTextField();
					jTextField3.setBounds(new java.awt.Rectangle(63, 418, 111,
							42));
					jTextField3
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Anhaltezeit [s]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField3
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField3.setEditable(false);

				}
				return jTextField3;
			}

		private JTextField getJTextField4()
			{
				if (jTextField4 == null) {
					jTextField4 = new JTextField();
					jTextField4.setBounds(new java.awt.Rectangle(63, 138, 111,
							42));
					jTextField4
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Reaktionszeit [s]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField4
							.setBackground(java.awt.SystemColor.activeCaptionText);
					jTextField4
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField4.setText("");
					jTextField4.addKeyListener(new KeyAdapter() {
						public void keyTyped(KeyEvent f)
							{
								if (!(Character.isDigit(f.getKeyChar())
										|| f.getKeyChar() == 8
										|| f.getKeyChar() == 10
										|| f.getKeyChar() == 127
										|| f.getKeyChar() == '.' || f
										.getKeyChar() == ',')) {
									JOptionPane.showMessageDialog(jContentPane,
											"Nur Ziffern erlaubt!");
									f.consume();
								}

							}

					}

					);
				}

				return jTextField4;
			}

		private JTextField getJTextField5()
			{
				if (jTextField5 == null) {
					jTextField5 = new JTextField();
					jTextField5.setBounds(new java.awt.Rectangle(364, 306, 111,
							42));
					jTextField5
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Ansprechweg [m]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField5
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField5.setEditable(false);
				}
				return jTextField5;
			}

		private JTextField getJTextField6()
			{
				if (jTextField6 == null) {
					jTextField6 = new JTextField();
					jTextField6.setBounds(new java.awt.Rectangle(364, 362, 111,
							42));
					jTextField6
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Bremsweg [m]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField6
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField6.setEditable(false);
				}
				return jTextField6;
			}

		private JTextField getJTextField7()
			{
				if (jTextField7 == null) {
					jTextField7 = new JTextField();
					jTextField7.setBounds(new java.awt.Rectangle(364, 418, 111,
							42));
					jTextField7
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Anhalteweg [m]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField7
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField7.setEditable(false);
				}
				return jTextField7;
			}

		private JTextField getJTextField8()
			{
				if (jTextField8 == null) {
					jTextField8 = new JTextField();
					jTextField8.setBounds(new java.awt.Rectangle(364, 250, 111,
							42));
					jTextField8
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Schwellweg [m]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField8
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField8.setEditable(false);
				}
				return jTextField8;
			}

		private JTextField getJTextField9()
			{
				if (jTextField9 == null) {
					jTextField9 = new JTextField();
					jTextField9.setBounds(new java.awt.Rectangle(364, 194, 111,
							42));
					jTextField9
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Umsetzweg [m]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											null, null));
					jTextField9
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField9.setEditable(false);
				}
				return jTextField9;
			}

		private JTextField getJTextField10()
			{
				if (jTextField10 == null) {
					jTextField10 = new JTextField();
					jTextField10.setBounds(new java.awt.Rectangle(364, 138,
							111, 42));
					jTextField10
							.setBorder(javax.swing.BorderFactory
									.createTitledBorder(
											null,
											"Reaktionsweg [m]",
											javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
											javax.swing.border.TitledBorder.DEFAULT_POSITION,
											new java.awt.Font("Dialog",
													java.awt.Font.BOLD, 12),
											new java.awt.Color(51, 51, 51)));
					jTextField10
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					jTextField10.setEditable(false);
				}
				return jTextField10;
			}

		private JButton getLöschen()
			{
				if (Löschen == null) {
					Löschen = new JButton();
					Löschen.setBounds(new java.awt.Rectangle(217, 359, 93, 48));
					Löschen.setText("Löschen");
					Löschen.addActionListener(new java.awt.event.ActionListener() {
								public void actionPerformed(java.awt.event.ActionEvent e)
									{
										geschwindigkeit.requestFocus();
										geschwindigkeit.setText("");

										jTextField4.requestFocus();
										jTextField4.setText("");

										Reaktionszeit.requestFocus();
										Reaktionszeit.setText("0,20");

										jTextField.requestFocus();
										jTextField.setText("");

										jTextField1.requestFocus();
										jTextField1.setText("0,05");

										jTextField2.requestFocus();
										jTextField2.setText("");

										jTextField3.requestFocus();
										jTextField3.setText("");

										jTextField10.requestFocus();
										jTextField10.setText("");

										jTextField9.requestFocus();
										jTextField9.setText("");

										jTextField8.requestFocus();
										jTextField8.setText("");

										jTextField5.requestFocus();
										jTextField5.setText("");

										jTextField6.requestFocus();
										jTextField6.setText("");

										jTextField7.requestFocus();
										jTextField7.setText("");

									}
							});
				}
				return Löschen;
			}

		private JButton getRechnen()
			{
				if (Rechnen == null) {
					Rechnen = new JButton();
					Rechnen
							.setBounds(new java.awt.Rectangle(203, 200, 120, 77));
					Rechnen.setText("Rechnen");
					Rechnen
							.addActionListener(new java.awt.event.ActionListener() {
								public void actionPerformed(
										java.awt.event.ActionEvent e)
									{
										// System.out.print("OK");
										geschwindigkeit.requestFocus();
										double speed = Double
												.parseDouble(geschwindigkeit
														.getText());
										/*
										 * if (speed == ) {
										 * JOptionPane.showMessageDialog(jContentPane,"Bitte
										 * eine Geschwindigkeit eintragen!"); }
										 */

										jTextField4.requestFocus();
										double reaktionszeit = Double
												.parseDouble(jTextField4
														.getText().replace(',',
																'.'));
										Reaktionszeit.requestFocus();
										double umsetzzeit = Double
												.parseDouble(Reaktionszeit
														.getText().replace(',',
																'.'));
										jTextField.requestFocus();
										double schwellzeit = Double
												.parseDouble(jTextField
														.getText().replace(',',
																'.'));
										jTextField1.requestFocus();
										double ansprechzeit = Double
												.parseDouble(jTextField1
														.getText().replace(',',
																'.'));

										/*
										 * double bremszeit = (speed * 1000) /
										 * (verzoegerung * 3600);
										 * jTextField2.requestFocus();
										 * jTextField2.setText(ausgabe.format(bremszeit));
										 */

										double anhaltezeit = reaktionszeit
												+ umsetzzeit + schwellzeit
												+ ansprechzeit /*
																 * + bremszeit
																 */;
										jTextField3.requestFocus();
										jTextField3.setText(ausgabe
												.format(anhaltezeit));

										double reaktionsweg = (speed / 3.6)
												* reaktionszeit;
										jTextField10.requestFocus();
										jTextField10.setText(ausgabe
												.format(reaktionsweg));

										double umsetzweg = (speed / 3.6)
												* umsetzzeit;
										jTextField9.requestFocus();
										jTextField9.setText(ausgabe
												.format(umsetzweg));

										double schwellweg = (speed / 3.6)
												* schwellzeit;
										jTextField8.requestFocus();
										jTextField8.setText(ausgabe
												.format(schwellweg));

										double ansprechweg = (speed / 3.6)
												* ansprechzeit;
										jTextField5.requestFocus();
										jTextField5.setText(ausgabe
												.format(ansprechweg));

										/*
										 * double bremsweg = ((speed / 3.6) *
										 * (speed / 3.6)) / (2 * verzoegerung);
										 * jTextField6.requestFocus();
										 * jTextField6.setText(ausgabe.format(bremsweg));
										 */

										double anhalteweg = reaktionsweg
												+ /* bremsweg */+umsetzweg
												+ schwellweg + ansprechweg;
										jTextField7.requestFocus();
										jTextField7.setText(ausgabe
												.format(anhalteweg));

									}

							});

				}
				return Rechnen;
			}

		private JComboBox getVerzögerung()
			{
			if (Verzögerung == null) {
				Verzögerung = new JComboBox();
				Verzögerung.addItem("Bitte hier Verzögerung auswählen");
				Verzögerung.setBounds(new java.awt.Rectangle(33, 109, 388,22));
				Auslesen();
				Verzögerung.addActionListener(new java.awt.event.ActionListener()
				{
						public void actionPerformed(java.awt.event.ActionEvent e)
							{
							//System.out.print(Verzögerung.getSelectedItem());
							String auswahl = (String) Verzögerung.getSelectedItem();
							System.out.println(auswahl);
							}
						});
				}
				return Verzögerung;
			}

		private JTextField getGeschwindigkeit()
			{
				if (geschwindigkeit == null) {
					geschwindigkeit = new JTextField();
					geschwindigkeit.setBounds(new java.awt.Rectangle(34, 17,
							249, 75));
					geschwindigkeit
							.setHorizontalAlignment(javax.swing.JTextField.CENTER);
					geschwindigkeit.setFont(new java.awt.Font("Dialog",
							java.awt.Font.PLAIN, 36));
					geschwindigkeit.addKeyListener(new KeyAdapter() {
						public void keyTyped(KeyEvent f)
							{
								if (!(Character.isDigit(f.getKeyChar())
										|| f.getKeyChar() == 8
										|| f.getKeyChar() == 10 || f
										.getKeyChar() == 127)) {
									JOptionPane.showMessageDialog(jContentPane,
											"Nur Ziffern erlaubt!");
									f.consume();

								}

							}

					}

					);
				}

				return geschwindigkeit;
			}

		private JRadioButton getMs()
			{

				if (ms == null) {
					ms = new JRadioButton("m/s");
					ms.setBounds(new java.awt.Rectangle(290, 17, 132, 34));
					ms.setText("m/s");
					ms.addActionListener(new java.awt.event.ActionListener() {
						public void actionPerformed(java.awt.event.ActionEvent e)
							{
								System.out.println("actionPerformed()");

							}
					});

				}
				return ms;
			}

		private JRadioButton getkmh()
			{
				if (kmh == null) {
					kmh = new JRadioButton("km/h", true);
					kmh.setBounds(new java.awt.Rectangle(290, 62, 132, 34));
					kmh.setText("km/h");

				}
				return kmh;
			}

		/**
		 * This method initializes schwellzeitwerte
		 * 
		 * @return javax.swing.JButton
		 */
		private JButton getSchwellzeitwerte()
			{
				if (schwellzeitwerte == null) {
					schwellzeitwerte = new JButton();
					schwellzeitwerte.setBounds(new java.awt.Rectangle(6, 256,
							45, 25));
					schwellzeitwerte.setText("?");
					schwellzeitwerte
							.addActionListener(new java.awt.event.ActionListener() {
								public void actionPerformed(
										java.awt.event.ActionEvent e)
									{
										JOptionPane
												.showMessageDialog(
														jContentPane,
														"Personenkraftwagen / 0,1s bis 0,3s"
																+ "\nLastkraftwagen / 0,2s bis 0,4s"
																+ "\nLastzug/Sattelzug / 0,4s bis 1,0s"
																+ "\nMotorrad (Fußbremse) / 0,1s bis 0,3s"
																+ "\nMotorrad (Handbremse) / 0,2s bis 0,3s");
										/*
										 * System.out.println("PKW / 0,1s bis
										 * 0,3s"); System.out.println("LKW /
										 * 0,2s bis 0,4s"););
										 */

									}
							});

				}
				return schwellzeitwerte;
			}

		public static void main(String[] args)
			{
				// TODO Auto-generated method stub
				Berechnung application = new Berechnung();
				application.show();
			}

		public Berechnung() {
			super();
			initialize();
			Auslesen();
		}

		/**
		 * This method initializes this
		 * 
		 * @return void
		 */
		private void initialize()
			{
				this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				this.setSize(567, 515);
				this.setContentPane(getJContentPane());
				this.setTitle("Application");
			}

		/**
		 * This method initializes jContentPane
		 * 
		 * @return javax.swing.JPanel
		 */
		private JPanel getJContentPane()
			{
				if (jContentPane == null) {
					jContentPane = new JPanel();
					jContentPane.setLayout(null);
					jContentPane.add(getReaktionszeit(), null);
					jContentPane.add(getJTextField(), null);
					jContentPane.add(getJTextField1(), null);
					jContentPane.add(getJTextField2(), null);
					jContentPane.add(getJTextField3(), null);
					jContentPane.add(getJTextField4(), null);
					jContentPane.add(getJTextField5(), null);
					jContentPane.add(getJTextField6(), null);
					jContentPane.add(getJTextField7(), null);
					jContentPane.add(getJTextField8(), null);
					jContentPane.add(getJTextField9(), null);
					jContentPane.add(getJTextField10(), null);
					jContentPane.add(getLöschen(), null);
					jContentPane.add(getRechnen(), null);
					jContentPane.add(getVerzögerung(), null);
					jContentPane.add(getGeschwindigkeit(), null);
					jContentPane.add(getMs(), null);
					jContentPane.add(getkmh(), null);
					jContentPane.add(getSchwellzeitwerte(), null);
				}
				return jContentPane;
			}

	} // @jve:decl-index=0:visual-constraint="10,10"
 

woezelmann

Mitglied
Da bei dir in der Textdatei der Zahlenwert jeweils an letzter Stelle steht, würd ich das so machen:
Code:
// line ist jeweils eine als String eingelesene Zeile 
String[] splited = line.split(" ");
String value = splited[splited.lenght-1];
So trennst du die Zeile nach jedem "Leerzeichen" und holst dir den letzten Abschnitt.
Ist aber eine nicht so schöne Lösung, besser wer's natürlich mit der Scanner-Klasse und einem regulären Ausdruck, dass musst du dir dann aber selbst reinziehen...
 

Landei

Top Contributor
Oder so (ungetestet):

Java:
int numberIndex = -1;
for(int i = 0; i < line.length; i++) {
   if (lineFromFile.charAt(i) >= '0' && lineFromFile.charAt(i) <= '9') {
      numberIndex = i;
      break;
   }
}
if (numberIndex >= 0) try {
   double number = Double.parseDouble(lineFromFile.substring(numberIndex).replace("\\,","."));
} catch(Exception ex) {
  ex.printStackTrace();
}
 

ARadauer

Top Contributor
ich finds schade... dass du deine Textfelder einfach nur durchnummerierst... jTextField8 ? was ist jetzt das?

Ich würde ein wenig mehr objektorientiert denken..
warum speicherst du ein deiner Verzögerungs DropDownliste Strings? Das sind keine Strings, das sind Verzögerungwerte..
zb..
Java:
 Verzögerung.addItem(new VerzögerungsWert(BuffReader.readLine()));

und so ein Objekt könnte ca so aussehen...
Java:
public class VerzögerungsWert {
   private String bezeichung;
   
   private double wert;
   
   
   VerzögerungsWert(String line){
      //hier jetzt die line parsen...
   }

   public String getBezeichung() {
      return bezeichung;
   }

   public void setBezeichung(String bezeichung) {
      this.bezeichung = bezeichung;
   }

   public double getWert() {
      return wert;
   }

   public void setWert(double wert) {
      this.wert = wert;
   }
   
   
   public String toString(){
      return bezeichung+" ("+wert+")";
   }

}

mit sowas kannst du dann viel besser arbeiten..
was soll nun dan diese stelle kommen? //hier jetzt die line parsen...

tja dein Datenformat ist Müll, wo hast du das her? gibt das der Lehrer vor oder hast du dir das selber geschrieben?
ich würde das ändern...

verschmierte Fahrbahn;1.5
LKW, beladen, Nässe, schleudernd;3.0

trennen mit ; und zahlen mit .

Java:
VerzögerungsWert(String line){
     String[] parts = line.split(";");
     bezeichung = parts[0];
     wert = Double.parseDouble(parts[1]);
   }
so in die Richtung....
....
 

KensAvatar

Neues Mitglied
ich finds schade... dass du deine Textfelder einfach nur durchnummerierst... jTextField8 ? was ist jetzt das?

Ich würde ein wenig mehr objektorientiert denken..
warum speicherst du ein deiner Verzögerungs DropDownliste Strings? Das sind keine Strings, das sind Verzögerungwerte..
zb..

Ja, das mit den Textfeldern hab ich echt schlecht gemacht.....wollte das dann noch im quelltext ändern, da kam aber dann ein Fehler, den ich mit meinem spärlichen Wissen nicht beheben konnte :/

Und das mit den Lehrern ist so eine Sache.....dazu muss man sagen, dass wir im Jahr höchstens auf 50 Stunden Java kommen. Ich mache eine Ausbildung zum Fachinformatiker-Systemintegration......also hab in der Praxis sogut wie nichts mit Programmierung zu tun.

Da fällt es echt schwer bei dem Tempo und der Unterrichtsart mitzuhalten. Hab mir
schon das Java-Kompendium gekauft, aber Java ist für mich immer noch eine Insel
:bahnhof:

Also damit splitte ich die Zeile in einen String und einen Zahlenwert?

Java:
VerzögerungsWert(String line){
     String[] parts = line.split(";");
     bezeichung = parts[0];
     wert = Double.parseDouble(parts[1]);
   }

Irgendwie erkenne ich langsam, dass ich gar keine Ahnung habe -.- .

Ich weiss nicht, ob du das "Programm" ausgeführt hast, es geht ja eigentlich alles soweit....auch wenn der Quellcode nicht schön anzusehen ist.

Ist es so kompliziert, aus der Datei einen Zahlenwert auszulesen oder geht das auch mit Mitteln, die ein absoluter Anfänger versteht?^^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M [Threads / Spiel] Help! I need sombody.. Allgemeine Java-Themen 2
hdi Need more BRAIN! Allgemeine Java-Themen 10
H2SO3- wo benutze ich javac -help Allgemeine Java-Themen 5
H JAVA-ARCHIV-PROBLEME - pls help :( Allgemeine Java-Themen 4
J Methoden Fehler beim serialisieren und laden!? help Allgemeine Java-Themen 4
C Help-Dialog Allgemeine Java-Themen 2
G Problem mit Quellcode, Eingabe wird nicht angezeigt --HELP-- Allgemeine Java-Themen 2
S brauche dringend help bei einem projekt (Römisch-dezimal) Allgemeine Java-Themen 3
G [Please help me out here. Problem by eclipse settings] Allgemeine Java-Themen 2
G please help me out with this killing problem. Allgemeine Java-Themen 20
B Java Eingabe HELP ( eclipse ) Allgemeine Java-Themen 4
G Fehler bei Java (JCreator) plz help ! Allgemeine Java-Themen 4
N help dateien Allgemeine Java-Themen 5
O Werte einer Generic LinkedList zusammenrechenen Allgemeine Java-Themen 14
C In DefaultTableModel nachträglich Werte einfügen Allgemeine Java-Themen 2
rosima26 Unterschiedliche Werte bei return/print Allgemeine Java-Themen 12
berserkerdq2 Kann man in IJVM maximal 3 Werte im Stack haben? Allgemeine Java-Themen 3
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
MiMa Werte in liste speichern? Allgemeine Java-Themen 3
Drachenbauer Wie kann ich einer existierenden Enum von außerhalb veränderte Werte zuweisen? Allgemeine Java-Themen 5
Arif Math.cos liefert komische Werte Allgemeine Java-Themen 8
X Größten Werte in meinem Array löschen? Allgemeine Java-Themen 16
D Erste Schritte Im Array Werte tauschen Allgemeine Java-Themen 5
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
Henrithebegiinerofjava Erste Schritte Werte in Eingabefelder einlesen und wiederholen lassen. Allgemeine Java-Themen 3
I Java: public final Werte: Gute oder schlechte Praxis? Allgemeine Java-Themen 6
S Algorithmus welcher True-Werte in einem Array findet und auswertet. Allgemeine Java-Themen 5
P Static Variable -> unterschiedliche Werte? Allgemeine Java-Themen 1
J Swing UIManager Werte Allgemeine Java-Themen 6
4 Java 2 ArrayListen Werte herauslesen/übernehmen Allgemeine Java-Themen 4
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
KeVoZ_ int Werte in einen String fassen Allgemeine Java-Themen 4
N Werte aus Hashmap auslesen und übertragen Allgemeine Java-Themen 8
2 mehrere Json Werte Parsen Allgemeine Java-Themen 3
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
B Übergebene Werte in Gerätedatei schreiben Allgemeine Java-Themen 2
M Exceltabelle in Java erstellen und Werte einlesen Allgemeine Java-Themen 32
N Werte aus Arrays auslesen funktioniert nicht Allgemeine Java-Themen 5
R Int werte vergleichen und Anzahl Paare ausgeben Allgemeine Java-Themen 4
O Klassen Programm in Klassen unterteilt, werte werden nicht mehr übernommen Allgemeine Java-Themen 3
R kann man irgendwie mit Arrays mit Eingabefenstern und Schleifen Werte abklappern? Allgemeine Java-Themen 2
L Windows CMD werte Parsen. Allgemeine Java-Themen 2
M Werte aus DB in Liste speichern ohne mehrfach speicherung Allgemeine Java-Themen 18
K Methoden Arrays auf true Werte prüfen Allgemeine Java-Themen 4
R Variablen per HSSF geheime Werte von JAVA an EXCEL Allgemeine Java-Themen 2
ARadauer Checksumme über BigDecimal Werte Allgemeine Java-Themen 11
C Datentypen Enum-Werte Bestanteil von anderem Enum Allgemeine Java-Themen 8
Q GregorianCalendar Methode add liefert komische Werte Allgemeine Java-Themen 3
BRoll Image RGB Werte auslesen und vergleichen Allgemeine Java-Themen 8
Madlip Variablen 3 Werte aus ArrayList und weiter ... Allgemeine Java-Themen 4
M Aus Excel Tabelle lesen und Werte in Array speichern Allgemeine Java-Themen 15
A String Array Werte in neues String Array übernehmen Allgemeine Java-Themen 5
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
R Zusammenhängende Werte in 2-dim. Array finden und zählen Allgemeine Java-Themen 3
S Sinnvolles skalieren von Werte-Set? Allgemeine Java-Themen 2
S Keytool: mögliche Werte für Parameter Allgemeine Java-Themen 4
P Werte in Array zählen und Summe der einzelnen Teile ausgeben Allgemeine Java-Themen 10
L Veränderbare Werte zusammenfassen Allgemeine Java-Themen 18
P Variablen Werte der Objektvariablen mit getFields() abfragen Allgemeine Java-Themen 2
O Variablen System.getenv: Sinnlose Werte, Arrays?! Allgemeine Java-Themen 6
J JSONObject Reihenfolge der Werte? Allgemeine Java-Themen 4
T java.uil.Random liefert negative Werte Allgemeine Java-Themen 2
c_sidi90 Werte an bestimmten Position aus PDF in DB sichern Allgemeine Java-Themen 2
C Vergleich von Enums gibt inkorrekte Werte Allgemeine Java-Themen 6
T Array Sortieren (null Werte ans Ende) Allgemeine Java-Themen 2
S Werte aus 2 eindimensionale boolean arrays mithilfe von logischen operatoren berechnen Allgemeine Java-Themen 6
C aus einem String einzelne Hex Werte lesen Allgemeine Java-Themen 7
P JFormattedTextField für durch Semikolon getrennte Integer-Werte gesucht / Regulärer Ausdruck Allgemeine Java-Themen 3
M rxtx OutputStream sendet falsche werte Allgemeine Java-Themen 3
J Hex Werte in Bitmap Raster darstellen Allgemeine Java-Themen 16
E Werte übergabe Allgemeine Java-Themen 2
E Werte in andere Klasse übernehmen Allgemeine Java-Themen 8
S Bytes oder Hex-Werte zu Assembler Code? Allgemeine Java-Themen 6
D Mehrere String-Werte in eine Tabellen-Zelle schreiben Allgemeine Java-Themen 8
P Methoden und Werte Allgemeine Java-Themen 17
M Kugelschnittberechnung liefert falsche Werte Allgemeine Java-Themen 4
N unzählige Werte am besten speichern(?) Allgemeine Java-Themen 2
D Spielerwechsel über boolsche Werte läuft inkorrekt Allgemeine Java-Themen 6
MonsterBit 2 Werte aus 2 Array vergleichen Allgemeine Java-Themen 10
T Apache POI Export EXCEL - [Zahlen-Werte] Allgemeine Java-Themen 1
S Doppelte Werte in Listen,Vectoren etc suchen Allgemeine Java-Themen 2
Airwolf89 Zugriff auf Werte in ArrayList<ArrayList> Allgemeine Java-Themen 4
H Prüfen, ob doppete Werte in int-Array vorhanden sind Allgemeine Java-Themen 16
K Datenhaltungsklasse für wenige Werte? Allgemeine Java-Themen 4
T JProgressbar ändert werte nicht Allgemeine Java-Themen 28
C Eingegebene Werte werden nicht gezeichnet Allgemeine Java-Themen 2
chik 2 return werte für Greedy-Algorithmus (gelöst) Allgemeine Java-Themen 3
hdi dynamische return-Werte Allgemeine Java-Themen 15
R Double Werte aus byte[] auslesen Allgemeine Java-Themen 5
T Wurfweitenberechnung: X-Werte bei extremen Werten falsch. Allgemeine Java-Themen 15
G Excel Werte / Zellen formatieren Allgemeine Java-Themen 5
G Werte bei Rekursion viel höher als erwartet Allgemeine Java-Themen 3
P Bedeutung der Process.exitValue() Werte? Allgemeine Java-Themen 3
C String to hex und hex-Werte löschen Allgemeine Java-Themen 2
D Suche sowas wie Map nur für mehrere Werte Allgemeine Java-Themen 13
M Werte im Browser aktualisieren Allgemeine Java-Themen 2
L Werte in externer Datei speichern und wieder auslesen? Allgemeine Java-Themen 8
MQue Werte in eine html- Datei schreiben Allgemeine Java-Themen 17
D werte in excelltabelle schreiben Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben