wczytywanie liczb z pliku txt

0

witam, mam problem bo musze wczytac z pliku txt liczby zmiennoprzecinkowe i potem dokonywac na nich operacji, java natomiast umozliwia wczytywanie albo calych plikow od razu albo linii typu string, mozna oczywiscie wczytac jako char i wypisac liczbe ale nie mozna np jej pomnozyc przez cos bo wychodza glupoty.
Probowalem wielu rzeczy i radzilem sie wielu ludzi i nic, mysle ze Wy pomozecie :]

0

jesli chodzi o parsowanie pliku, to streamy i StringTokenizer. ale mysle ze chodzi Ci o obliczenia
w takim wypadku MEGA poteznym toolem jest beanshell

pozdrawiam

0

no moze i jest, ja jestem poczatkowym programistą i nie wiem nawet jak tego uzyc ;/
myslalem ze moze jest w javie jakas gotowa metoda czy latwiejszy sposob........

0

co znaczy "jest w javie gotowa metoda"? Wlasnie Ci podpowiedzialem - uzyj StringTokenizera lub Interpretera z biblioteki beanshell. Jak uzyc? - dokumentacja

0

dobra juz mam, tym sposobem co mowisz nie dziala, ale napisalem wlasna metoda ktora dziala poprawnie
a moze wiesz jak co zrobic, bo mam klase ktora wczytuje mi zawartosc pliku, i chce jej uzyc w innej klasie zapisanej w innym pliku, slyszalem ze trzeba cos zaimportowac ale nie wiem co i jak, moglbys podac jakis wzor ?

0

jesli masz odpowiednio sformatowany plik z liczbami to na StringTokenizerze bardzo łatwo by się to zrobiło. a co do pytania ostatniego...jesli to ta sama paczka to wystarczy przykładowo:

Klasa a=new Klasa();
a.OdczytajZPliku();

jesli inna paczka to przed tym nalezy dodac:

import paczka.*;

proponuje troszke wrocic do podstaw a rzeczy trudniejsze pojda szybciej :)

0

Kiedy plik jest podzielony na linie, sprawa jest prosta-readline() i StringTokenizer.
Ale co zrobić, gdy plik jest długi(nie można go całego wczytać) i wszystko jest w jednej linii?

Jedynym rozwiązaniem, które znam, to wczytywanie kolejnych znaków do StringBufora, aż natrafimy na spację. Nasŧępnie pobiera Stringa ze StringBufora i na końcu używamy Double.parseDouble.

Trochę to skomplikowane w porównaniu do np. C++.

0

tak zrobilem jak mowiliscie, na razie wszystko sie kompiluje ladnie, tylko pojawil sie inny problem, mianowicie zarowno w jednym jak i w drugim pliku mam klasy main, w pierwszym musi byc, bo mam samą obslugę wyjatkow try{}catch(){}, i jesli chce w tym drugim pliku odpalic tą classe i zeby mi przekazala wartosci odczytane z pliku to ni hu hu, nic nie przekazuje, jak probuje usunąc classe main z pliku zawierające odczyt danych to mi wyskakuje error bo musi byc main przy bloku obslugi bledow....
ogolnie problem jest taki: jak przekazac dane z jednego pliku do drugiego ? zeby jedna klasa odczytala i dala drugiej w innym pliku...

0

robsson naprawde polecam Ci wrocic do samych podstaw javy. z tego co rozumiem masz 2 METODY main a nie klasy (tak naprawde main jest potrzebny tylko w klasie z ktorej odpalasz program). Sprobuj w drugiej klasie stworzyc sobie metode zamiast maina np

public int dodaj(int a,int b){
return a+b;
}

z tego co mi sie wydaje probowales wstawic try catch bez deklaracji metody (po prostu w klasie) no a tam niestety miejsca dla try catch nie ma ;)

0

no tak probowalem, ale odczyt z pliku musi byc w bloku try catch, a ten plik nie jest moim glownym, wiec nie da rady zrobic tak jak chce ? zeby jeden plik czytal poprzez swoja metode dane z pliku i przekazywal je do glownego a ten z kolei decydowal co dalej........

0

no to przeciez Ci napisalem co zrobic...try catch w metodzie mozesz dasz nie musi to byc wcale main....

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