v súbore je
5445
1100
3443
4433
1233
2223
a ja by som potreboval do jedného arraylistu<Integer> prvý a tretí riadok do druhého druhý a štvrtý riadok do tretieho piaty riadok a do štvrtého siesty riadok.
Nechapem na co to je? Takto je to vzdy zadane? Alebo existuje nejaka formulka podla ktorej sa pocita, ktory riadok ide do ktoreho arraylistu. Prip. moze byt arrayListov viac? Inak ked mas pevne dane, kolko bude v ktorom arrayliste prvkou, preco pouzivas, list, tu uplne vistacuje pole. Mozno by sa zisiel lepsi popis toho co robis, resp. o co sa v tomto kroku snazis. Lebo je velka pravdepodobnost, ze ti to teraz napisem a niec ine ao toto sa to nebude dat pouzit. Ale kod:
private ArrayList<Integer> prvy = new ArrayList<>(2);
private ArrayList<Integer> druhy = ...
...
public void readFromFile(File file){
BufferedReader reader = null;
try{
reader = new BufferedReader(new FileReader(file));
int counter = 0;
String line = null;
while((line = rader.readLine())!=null){
int readInt = Integer.valueOf(line);
if (counter == 0 || counter == 2) {
prvy.add(readInt);
} else if( counter == 1 || counter == 3) {
druhy.add(readInt);
} else if (counter == 4) {
treti.add(readInt);
} else if (counter == 5) {
stvrty.add(readInt);
}
counter++;
}
} catch(IOExceptio ioe){
ioe.printStackTrace();
} finally{
try{
if(reader!=null) {
reader.close();
}
} catch(IOException e){
e.printStackTrace();
}
}
}
#3 Milan
Na toto si sa vobec nepital, ja nevlastnim vestecku gulu a zo zadania to jasne nebolo. Mozes ten string rozdelit, napr. pocas citania:
while((line = reader.readLine())!=null){
char[] numbers = line.toCharArray();
for(char nChar : numbers){
int readInt = (int)(nChar - '0'); // netusim ci to bude fungovat, ale malo by
if (counter == 0 || counter == 2) {
prvy.add(readInt);
} else if( counter == 1 || counter == 3) {
druhy.add(readInt);
} else if (counter == 4) {
treti.add(readInt);
} else if (counter == 5) {
stvrty.add(readInt);
}
}
counter++;
}
zmena zadania, súbor vyzerá takto :
A
4
2
A
2
5
A
5
3
A
4
1
A
1
5
A
5
4
A
5
1
A
1
4
A
6
4
A
6
1
A
2
4
A
6
5
počet iterácií je 4. agent, má 2 arraylisty x a y. Takže tie čísla potrebujem dať do arraylistov. iterácie sú oddelene novým riadkom . a počet agentov v danej iterácii nemusí byť taký ako v predošlej. začiatočný počet agentov je 3. Potom to treba asi zisťovať lebo sa to môže zmeniť.
agent - objekt , nie je potrebná jeho definícia, stačí že je trieda A a tam sú 2 arraylisty x a y. reprezentujú súradnice xová a yonová. Potrebujem načítať hodnoty do tých arraylistov. potom s nimi budem pracovať a na to už nepotrebujem pomoc.
Preto som sa pytal, aby som vedel ako potrebujes tie hodnoty citat. Netusim co chces urobit. Mas tam len jednu dlhu strudlu zlozenu z characterov [0-9\\n]. A potom si prisiel z agentami v ktorych su dve polia. Moja otazka je ako spravne priradovat hodnoty poliam. A preto som sa pytal na co sluzia agenti, aby som lepsie porozumel tomu o co sa snazis. Cize napis aspon priradenie.
takže druhý riadok agent 1 : do x 4 a do y 2, dalši riadok agent 2 do x 2 do y 5 a tak treti agent, potom nový riadok-druhá iterácia, čiže druhý riadok-agent 1 do x 4 a do y 1. podobne agent 2 do x1 do y 5 ,podobne tretí agent, ale pozor môže nasledovať štvrtý piaty agent- až kým nie je iterácia ukončená novým riadkom.
Tretia iteracia -agent 1 do x 5 do y1.podobne agenti 2 a 3....a zase tam môže byť viac agentov-je to ukončené novým riadkom
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku