Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: Jono ja Pino -demonstraatiot (rakenteen sisällon kehitys)

Jere Sumell [21.04.2021 13:33:43]

#

import java.util.ArrayList;
import java.util.Random;

public class DataStructs {

	private ArrayList<Integer> list;
	private Random r;

	public DataStructs() {
		this.list = new ArrayList<Integer>();
		this.r = new Random();
	}

	public void tulosta() {
		for (int x=0;x<list.size();x++  ) {
			System.out.print("" +list.get(x).toString() +",");
		}
	}

	public ArrayList<Integer> getList() {
		return list;
	}

	public void setList(ArrayList<Integer> list) {
		this.list = list;
	}

	public Random getR() {
		return r;
	}

	public void setR(Random r) {
		this.r = r;
	}

}

DataStructs -isäluokka ylhäällä
perijät jono ja pino

/*
 * Stack -Data Type.
 *
 * Jere Sumell
 * 21.04.2021
 * jere.sumell@iki.fi
 * jjsume@github
 */

public class Pino extends DataStructs {


	public Pino() {
		super();
	}

	public  void pinoAdd(Integer x) {
		super.getList().add(0, x);
		System.out.println(" - " +x +" -lisätty pinoon!");

	}

	public Integer pinoNext() {
		Integer t = null;
		if (super.getList().size() >0) {
			t =super.getList().get(super.getList().size()-1);
			super.getList().remove(super.getList().size()-1);
			return t;
		}
		return 0;
	}

	public void alustapino(int y) {

		Integer temp = new Integer(super.getR().nextInt(100)+1);
		for (int x=0;x<y;x++) {
			this.pinoAdd(temp);
			this.tulosta();
			temp = new Integer(super.getR().nextInt(100)+1);
		}
	}
}

Ja jono...

/* Queue -data Type
 *
 * Jere Sumell
 * 21.04.2021
 * jere.sumell@iki.fi
 * jjsume@github
 */


public class Jono extends DataStructs {

	public Jono() {
		super();
	}

	public  void jonoAdd(Integer x) {
		super.getList().add(x);
		System.out.println(" - " +x +" - lisätty jonoon!");
	}

	public  Integer jonoNext() {
		Integer t = super.getList().get(0);
		super.getList().remove(0);
		return t;
	}


	public void alustaJono(int y) {
		Integer temp = new Integer(super.getR().nextInt(100)+1);
		for (int x=0;x<y;x++) {
			this.jonoAdd(temp);
			this.tulosta();
			temp = new Integer(super.getR().nextInt(100)+1);
		}
}
}

Testiluokka, jossa demonstroidaan jonon ja pinon kehitystä satunnaiskokonais lukujen lisäämisen jälkeen...

/*
 * Demo Class for Queue and Stack -data types
 *
 * Demonstrating data structure including Integer -objects evolution.
 *
 * Jere Sumell
 * 21.04.2021
 * jere.sumell@iki.fi
 * jjsume@github
 */

public class QueueandStackDemo {
	public static void main(String[] args) {
		Jono jono = new Jono();
		Pino pino = new Pino();
		//Alustetaan jono ja pino.
		pino.alustapino(10);
		//Tulostetaan pinon kehitys
		System.out.println("pino");
		pino.tulosta();
		while (pino.getList().size()>0) {
			System.out.println(" pinon seuraava poistettava: " +pino.pinoNext());
			pino.tulosta();
		}
		if (pino.getList().size() <=0) {
			System.out.println("pino on tyhjä!");
		}

	//Tulostetaan jonon kehitys
	System.out.println("jono");

	jono.alustaJono(10);


	while (jono.getList().size()>0) {
		System.out.println(" jonon seuraava poistettava: " +jono.jonoNext());
		jono.tulosta();
	}
	if (jono.getList().size() <=0) {
		System.out.println("jono on tyhjä!");
	}


	}
}

Tässä vielä konsolista output -listaus

 - 61 -lisätty pinoon!
61, - 12 -lisätty pinoon!
12,61, - 16 -lisätty pinoon!
16,12,61, - 100 -lisätty pinoon!
100,16,12,61, - 28 -lisätty pinoon!
28,100,16,12,61, - 79 -lisätty pinoon!
79,28,100,16,12,61, - 14 -lisätty pinoon!
14,79,28,100,16,12,61, - 35 -lisätty pinoon!
35,14,79,28,100,16,12,61, - 84 -lisätty pinoon!
84,35,14,79,28,100,16,12,61, - 99 -lisätty pinoon!
99,84,35,14,79,28,100,16,12,61,pino
99,84,35,14,79,28,100,16,12,61, pinon seuraava poistettava: 99
84,35,14,79,28,100,16,12,61, pinon seuraava poistettava: 84
35,14,79,28,100,16,12,61, pinon seuraava poistettava: 35
14,79,28,100,16,12,61, pinon seuraava poistettava: 14
79,28,100,16,12,61, pinon seuraava poistettava: 79
28,100,16,12,61, pinon seuraava poistettava: 28
100,16,12,61, pinon seuraava poistettava: 100
16,12,61, pinon seuraava poistettava: 16
12,61, pinon seuraava poistettava: 12
61, pinon seuraava poistettava: 61
pino on tyhjä!
jono
88,13,85,44,43,18,71,66,56,98, jonon seuraava poistettava: 88
13,85,44,43,18,71,66,56,98, jonon seuraava poistettava: 13
85,44,43,18,71,66,56,98, jonon seuraava poistettava: 85
44,43,18,71,66,56,98, jonon seuraava poistettava: 44
43,18,71,66,56,98, jonon seuraava poistettava: 43
18,71,66,56,98, jonon seuraava poistettava: 18
71,66,56,98, jonon seuraava poistettava: 71
66,56,98, jonon seuraava poistettava: 66
56,98, jonon seuraava poistettava: 56
98, jonon seuraava poistettava: 98
jono on tyhjä!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta