Forum » Programiranje » Java in seznami...
Java in seznami...
tadej123321 ::
zdravo, eno simpl vprašanje, ki pa mi ni jasno zakaj je tak outpu :/
Skratka, delam programček, ki shranjuje koordinate, ki jih uporabnik vnese. Nato program sproti, za vsak vnos posebej izpiše koordinate, ki so se že pojavile. Težava je v tem, da če vnesem koordinati 4 4, da so vse koordinate, ki jih izpiše 4 4. Ni mi jasno zakaj je temu tako in kako to odpraviti...
Koda:
Main:
Koordinate:
Skratka, delam programček, ki shranjuje koordinate, ki jih uporabnik vnese. Nato program sproti, za vsak vnos posebej izpiše koordinate, ki so se že pojavile. Težava je v tem, da če vnesem koordinati 4 4, da so vse koordinate, ki jih izpiše 4 4. Ni mi jasno zakaj je temu tako in kako to odpraviti...
Koda:
Main:
package com.company; import java.util.Scanner; import java.util.ArrayList; public class Main { public static void main(String[] args) { koordinate ko = new koordinate(0,0); ArrayList<koordinate>tab = new ArrayList<>(); tab.add(ko); int x; int y; while(true){ System.out.println("Vnesi novi koordinati:"); Scanner v = new Scanner(System.in); ko.x=v.nextInt(); ko.y=v.nextInt(); tab.add(ko); koordinate tmp= new koordinate(1,1); for(int i=0;i<tab.size();i++){ tmp=tab.get(i); System.out.println(tmp.x +" " + tmp.y); } } } }
Koordinate:
package com.company; public class koordinate { int x; int y; koordinate(int x,int y){ this.x = x; this.y = y; } }
dellon ::
Vsakič ko dodaš objekt v listo dodaš istega, oz. vsak naslednji objekt je referenca na tistega ki si ga ustvaril na začetki izvajanja programa.
Yacked2 ::
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main() { ArrayList<koordinate>tab = new ArrayList<koordinate>(); Scanner sc = new Scanner(System.in); while(true) { System.out.println("Vnesi novi koordinati:"); int x = sc.nextInt(); int y = sc.nextInt(); koordinate dump = new koordinate(x,y); tab.add(dump); for(int i = 0; i < tab.size(); i++) { System.out.println(tab.get(i).getX() + " " + tab.get(i).getY()); } } } } class koordinate { private int x; private int y; public koordinate(int x, int y) { this.x = x; this.y = y; } public int getX() { return this.x; } public int getY() { return this.y; } }
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Naloga iz Putka - UPMOddelek: Programiranje | 2217 (1553) | NejcSSD |
» | [Java] Problem s Scanner-jemOddelek: Programiranje | 2460 (2254) | Zlatan |
» | Java-random-poljeOddelek: Programiranje | 955 (834) | LeQuack |
» | Java ObjektiOddelek: Programiranje | 2252 (1946) | Mavrik |
» | [JAVA] helpOddelek: Programiranje | 1640 (1354) | keworkian |