Kezdőoldal » Számítástechnika » Programozás » Ezt hogyan oldjam meg javában?

Ezt hogyan oldjam meg javában?

Figyelt kérdés

Egy érettségi programozás feladatában ilyen adatokat kellett beolbasni és eltárolni.:

1 13

#abor# #e#tun###agy#szel#2# #o##h#d#g ##rkasn#o#oka# #a#tunk e####a#akn##$#$#$##$$$$$$####

1 19

ta###t##ertunk ##gy #zel#####ok hide##f#r##sn#omo#at ##ttu## e#y patak#al$#$$$$$###$$$$$$$


public void fájlBeolvasás(String fájlNév) throws FileNotFoundException{

Scanner in = new Scanner(new File(fájlNév));

int nap = 0;

int rádióAmatőr = 0;

String tartalom = "";

int counter = 0;

while (in.hasNextLine()){

counter++;

String line = in.nextLine();

String sor[] = line.split(" ");


if (sor.length == 2){

nap = Integer.parseInt(sor[0]);

rádióAmatőr = Integer.parseInt(sor[1]);

} else {

tartalom = line;

}


if(counter%2 == 0){

ürenetek.add(new Üzenet(nap, rádióAmatőr, tartalom));

}

}

}


Itt elvileg azt kéne csinálnia, hogy ha a sort 2 részre osztja, akkor a napot és rádióamatőrt tárolja el, amik egy szóközzel elválasztott számok.


Ha bármilyen más hosszúságú, akkor a hossszú sort tárolja el az üzenet tartalmaként.


Az a baj, hogy több száz adat van és van olyan ilyen "furra" mindenféle jellel ellátott sor ahol ugyan csak 2re határolja el ha a "split"be a szóközt használom argumentumként és ez megtöri a kódot amikor bele megy az if (sor.length == 2)be mert ott 2 számra számítós és két ilyen jelent nem tud inté alakítani "#o##h#d#g", "#o##h#d#g".


Tudom, hogy a splittel van a probléma. Már régóta tesztelgetem a kódot de nem tudom hogyan csináljam meg.


"String sor[] = line.split("-|\\.")"


Ezt is próbáltam. Ebben az esetben a "furcsa" sort nagyon szépen feltöri több darabba, de az sima számos sorral nem csinál semmit.


Nem értek a split methodhoz annyira.


Hogyan tudhatnám megcsinálni így, hogy mondjuk a # jelnél és a szóközöknél törtjön?

(Akkor biztos többre törtné a furcsa sort és az elsőt csak 2re)

Plusz bármilyen tanácsot elfogadot :D



2018. ápr. 23. 08:18
1 2
 11/13 anonim ***** válasza:
|-jel gyakorlatilag a vagy-nak felel meg.
2018. ápr. 23. 14:28
Hasznos számodra ez a válasz?
 12/13 anonim ***** válasza:
Még csak számolnod sem kell a sorokat. Eltárolod a napot, eltárolod a rádióamatőrt, eltárolod az üzenetet, kezded elölről. Senki nem mondta, hogy egy cilusban csak egy sort dolgozhatsz fel.
2018. ápr. 23. 15:18
Hasznos számodra ez a válasz?
 13/13 A kérdező kommentje:

10# Igen, az az érettségi feladat.


12# Köszönöm szépen, erre nem is gondoltam :D

2018. ápr. 23. 15:53
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!