Java wczytanie double do pliku i operacje na nim

0

Witam. Otóż od paru dni uczę się Javy i mam pewien problem. Mianowicie potrzebuje wczytać daną liczbę z pliku .txt do zmiennej w klasie programu i móc ją modyfikować przez operacje matematyczne. Znalazłem takie coś :

      File file = new File("ala.txt");
      Scanner in = new Scanner(file);
 
      String zdanie = in.nextLine();
      System.out.println(zdanie);


Ale to wczytuje do Stringa, natomiast ja potrzebuje to zrobić do Double by móc do tej liczby dodawać kolejne... Znalazłem też kod który odczytuje bajt po bajcie jednakże na tym też nie mogę wykonywać operacji matematycznych.

Proszę o pomoc.

0

Nie za bardzo rozumiem jak zrobić żeby ten kod odczytywał liczbe z pliku bla.txt do zmiennej double w moim programie...

0

A obejrzałeś wszystkie 9 podkreślonych na żółto wierszy, czy mam ciebie jeszcze w tym lnku numer wiersza podać ?

0

Tak, obejrzałem wszystkie kody z podanego linku i analizowałem je na wszystkie znane mi sposoby...
Napisałem coś takiego ale i tak nie chce działać...

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
 
public class test2{
  public static void main(String[] args) throws FileNotFoundException{
	  double stan;
      File file = new File("stan.txt");
      Scanner in = new Scanner(file);
	  
	  stan = file.hasNextDouble();
	  
	  file.close();
	  System.out.println(file);
	  System.out.println(stan);
 }
}
0
      File file = new File("stan.txt");
      Scanner in = new Scanner(file);
 
          stan = file.hasNextDouble();
 
          file.close();

Co to jest ?

0

Nie wiem, myślałem że wczytanie liczby z pliku tekstowego stan do zmiennej stan :D Mówiłem już że dopiero się uczę więc proszę mi tłumaczyć jak chłopu - prosto.

0

ale ten przykład jest banalny i jeszcze masz na żółto podkreślone strategiczne miejsca oO

0

Dla kogoś kto programuje 15 lat może i jest to banalne. Ale dla kogoś kto nie miał wcześniej większych styczności z programowaniem może to sprawić problem... Napisałem analogicznie do odczytania stringa, zmieniłem typ z string na double i z nextLine na nextDouble lecz nie chce to działać.

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
 
public class test2{
  public static void main(String[] args) throws FileNotFoundException{
      File file = new File("stan.txt");
      Scanner in = new Scanner(file);
 
      double stan = in.nextDouble();
      System.out.println(stan);
  }
}

@Edit
Nie chce działać czyli wczytywać liczby która jest wpisana w stan.txt ( np. 200 ) do zmiennej stan w powyższym przykładowym programie.
@Edit2
Mam, gdy robię to samo na stringu wszystko jest ok, ale ja potrzebuję typu double by móc do tej liczby dodawać kolejne liczby. Błąd który mi wyskakuje :

Exception in thread "main" java.util.InputMismatchException
              at java,util.Scanner.throwFor(Unknown Source)
              at java,util.Scanner.next(Unknown Source)
              at java,util.Scanner.nextDouble(Unknown Source)
              at test2.main(test2.java:11)

Natomiast wymieniona w błędzie jedenasta linijka to :

double stan = in.nextDouble();
2

Czy pierwszym elementem pliku na pewno jest liczba typu double zapisana z użyciem przecinka w roli separatora dziesiętnego? Scanner jest zlokalizowany, jeśli chcesz czytać liczby zmiennoprzecinkowe zapisane z kropką, to:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Locale;
 
public class test2{
  public static void main(String[] args) throws FileNotFoundException{
      File file = new File("stan.txt");
      Scanner in = new Scanner(file);
      in.useLocale(new Locale("en"));
 
      double stan = in.nextDouble();
      System.out.println(stan);
  }
}
0

Nie jestem pewny czy zrozumiałem ale jeżeli chodzi Ci o zawartość pliku stan.txt to jest ona następująca :

250.0

Dzięki Bogdan, nareszcie jakaś konkretna odpowiedź, wszystko działa, wielkie dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1