» »

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:
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!

tadej123321 ::

Hvala

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Naloga iz Putka - UPM

Oddelek: Programiranje
242217 (1553) NejcSSD
»

[Java] Problem s Scanner-jem

Oddelek: Programiranje
92460 (2254) Zlatan
»

Java-random-polje

Oddelek: Programiranje
6955 (834) LeQuack
»

Java Objekti

Oddelek: Programiranje
102252 (1946) Mavrik
»

[JAVA] help

Oddelek: Programiranje
141640 (1354) keworkian

Več podobnih tem