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
 1/13 A kérdező kommentje:

Bocs, a gyakori ilyen furcsán osztja meg a kód mintákat.


Itt megtaláljátok sokkal szebben.


pas (asdas) tebin. com/S4htf6GK


Tudom kicsit furcsán írtam le a linket, de valamiért a gyakori utálja ezt az oldalt és a rövidített linkeket, ezért csak így tudom megosztani. A zárójeles részt vegyétek ki pluszt a szóközöket :D

2018. ápr. 23. 08:24
 2/13 anonim ***** válasza:

Ha szöveges sor van nem kell splittelni.

Felváltva követik egymást a sorok, két szám, szöveg, két szám, szöveg.

2018. ápr. 23. 08:55
Hasznos számodra ez a válasz?
 3/13 A kérdező kommentje:

2# De vannak olyan "szöveg" sorok amik számokkal kezdődnek.


pl:

0/3#a pa#a#on##uli#dombon#kol##o# ##tszot### #e######l$$$$$$#$$$$$##$#$#$$$#$$$#$$$$$$$$$$

2018. ápr. 23. 08:58
 4/13 anonim ***** válasza:
És az téged miért izgat? Max akkor lenne jelentősége, ha a feladatban az lenne, hogy a stringek nem tartalmazhatnak számot, de kötve hiszem, hogy ez a helyzet.
2018. ápr. 23. 10:00
Hasznos számodra ez a válasz?
 5/13 A kérdező kommentje:
Akkor az "if (sor.length == 2)" helyett azt nézzem, hogy páros vagy páratlan a sor (if(counter%2 == 0)) és az alapján a páratlanban eltárolom a napot és az amatőrrádióst és a párosban meg a 3. adat segítségével megcsinálom az üzenetet?
2018. ápr. 23. 10:21
 6/13 A kérdező kommentje:

Amugy hogyan lehet megcsinálni hogy a split method a szóköz és a hastag jelnél válasszon?

(Oké máshogy is meglehet csinálni, de már tudni akarom)

2018. ápr. 23. 12:00
 7/13 anonim ***** válasza:

elvileg:

"\b#| "

2018. ápr. 23. 12:50
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:
Előző vagyok, bocs \b -rész nem szükséges,csak bentmaradt.
2018. ápr. 23. 12:54
Hasznos számodra ez a válasz?
 9/13 A kérdező kommentje:
Akkor lényegében egy ( | )ilyen jelel kell elválasztani azokat a karaktereket ahol el akarom választani?
2018. ápr. 23. 13:41
 10/13 SimkoL ***** válasza:
Erre [link] a feladatra gondolsz ?
2018. ápr. 23. 14:17
Hasznos számodra ez a válasz?
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!