Wątek przeniesiony 2014-12-10 14:41 z Java przez bogdans.

Operacja na macierzy w pliku

0

Cześć,

Mam problem poniwaz nie za bardzo wiem, jak moge dzialac na pliku, który pobieram sobie przez filechoosera (nie jest to plik tekstowy).
wyglada on tak, ze :
1
3
446
HB/54
G 2 56
G 2 67
M 50 12
M 60 36
i tysiac linijek w dol

jak mam dzialac na tych liczbach ktore sa w tej linijcie co M? Przykladowo 50, 60, ma byc pomnozone razy 100, a od 36 mam odjac 12. czytam ten plik scannerem.

0

Wyjątkowo niejasny opis problemu>

  • co zrobić z wynikami działań,
  • co zrobić gdy trafią się takie wiersze
M 6 89 1045
M 7
M 1 1 1

P.S. Jeżeli to nie jest plik tekstowy, to skąd wiesz, że ma on taką zawartość?

0

to jest rozszerzenie .mes, otwieram do notepad++

kazda linia zawiera

M [liczba] [liczba]
z wynikow ma byc rysowany wykres

0

Z pierwszego postu wynika, że nie każdy wiersz ma postać

M liczba liczba

Co zrobić z takim fragmentem

M 3 4 
M 7 9
M 2 8

Co mnożyć, co odejmować, a czego użyć w rysowaniu wykresu?
P.S. Jeżeli otwierasz go programem notepad++ i widzisz taką zawartość, to to jest plik tekstowy.

0

M [a] [b]
M [a] [b]
M [a] [b]
M [a] [b]
M [a] [b]

a = temperatura - podzielic przez 2
b = dlugosc - to przeba pomnozyc przez stala i policzyc rozniczke jeszcze z tego, ale to juz sobie jakos poradze

najwazniejsze dla mnie jest to, aby operowac na tych liczbach a i b

0
Scanner sc = new Scanner(...);
while(sc.hasNext())
{
     String line = sc.nextLine();
     Scanner scanner = new Scanner(line);
     if(scanner.next().equals("M"))
     {
         int temperature = scanner.nextInt();
         int length = scanner.nextInt(); 
     }
}
sc.close();
0
Exception in thread "AWT-EventQueue-0" java.util.NoSuchElementException
	at java.util.Scanner.throwFor(Scanner.java:862)
	at java.util.Scanner.next(Scanner.java:1371)
	at zadanie.Ramka.jButton2ActionPerformed(Ramka.java:133)
	at zadanie.Ramka.access$100(Ramka.java:20)
	at zadanie.Ramka$2.actionPerformed(Ramka.java:61)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6525)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6290)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
	at java.awt.Container.dispatchEventImpl(Container.java:2278)
	at java.awt.Window.dispatchEventImpl(Window.java:2739)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
	at java.awt.EventQueue.access$400(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:697)
	at java.awt.EventQueue$3.run(EventQueue.java:691)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:719)
	at java.awt.EventQueue$4.run(EventQueue.java:717)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

ciągle wyrzuca mi taki blad jak chce cokolwiek zrobic na pliku, nawet go przeszukac, tylko wyswietlenie dziala

dodanie znacznika <code> - @furious programming

0

Pewnie badany plik ma inną budowę niż Ty zakładasz, np. pusty wiersz, wiersz zaczynający się od M ale nie zawierający dwóch liczb,...
Musisz podać kod i plik, na którym program się sypie.

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