Array in Aufgabe einbauen

Status
Nicht offen für weitere Antworten.

Sunny81

Aktives Mitglied
Hi Leute,

in einer Aufgabe kann man PC´s erstellen und wird nach Platte, Ram und Chip abgefragt.
Wenn man fertig ist wird man gefragt ob man noch einen erstellen will.

Wie kann ich das programmieren dass ich bis zu X PC´s erstellen kann ohne jedes Mal die ganze Programmier und deklarier Arbeit zu machen?

Vllt über einen Array?

Danke




Java:
public class Aktion 

{
 
	public static void main(String args[])
	
	{
	
	
	int select = IO.promptAndReadInt("Um einen PC zusammzustellen wählen Sie die 1: ");
	
	
	switch (select)	
		{
	
	
	case 1: 
	
		
		String prozessor = null;
		
		while(prozessor==null)
			{
					 prozessor = IO.promptAndReadString("Bitte wählen Sie den Prozessor aus: ");

			
		if (!"INTEL".equalsIgnoreCase(prozessor) && !"AMD".equalsIgnoreCase(prozessor))
				{
			prozessor=null;
			System.out.println("Steht nicht zur Verfügung!");
			
				}
		
			}
		
			System.out.println("Erfolgreich");

				
		

		
		int ramSpeicher=0;
		
		while (ramSpeicher==0)
		{
			
			 ramSpeicher = IO.promptAndReadInt("Bitte wählen Sie GbRam aus: ");

			
		if (ramSpeicher < 2 || ramSpeicher > 16)
				{
			ramSpeicher=0;
			System.out.println("Steht nicht zur Verfügung!");
				}
		}
		
		
			System.out.println("Erfolgreich");

			
		

		
	int festPlatte=0;
	
		while(festPlatte==0)
		{
			 festPlatte = IO.promptAndReadInt("Bitte wählen Sie die Festplatte aus: ");

			
			if (festPlatte <160 || festPlatte > 500)
				{				
				festPlatte=0;
				System.out.println("Steht nicht zur Verfügung!");
				}
		}
		
		
			System.out.println("Erfolgreich");

			
	
		
	
		 Verwaltung p1 = new Verwaltung( prozessor,  ramSpeicher,  festPlatte);
		 p1.print();
		
		int select1=  IO.promptAndReadInt("Um noch einen PC zu erstellen drücken Sie bitte die 2: ");
		 



	case 2:
String prozessor2 = null;
		
		while(prozessor2==null)
			{
					 prozessor2 = IO.promptAndReadString("Bitte wählen Sie den Prozessor aus: ");

			
		if (!"INTEL".equals(prozessor2) && !"AMD".equals(prozessor2))
				{
			prozessor2=null;
			System.out.println("Steht nicht zur Verfügung!");
			
				}
		
			}
		
			System.out.println("Erfolgreich");

				
		

		
		int ramSpeicher2=0;
		
		while (ramSpeicher2==0)
		{
			
			 ramSpeicher2 = IO.promptAndReadInt("Bitte wählen Sie GbRam aus: ");

			
		if (ramSpeicher2 < 2 || ramSpeicher2 > 16)
				{
			ramSpeicher2=0;
			System.out.println("Steht nicht zur Verfügung!");
				}
		}
		
		
			System.out.println("Erfolgreich");

			
		

		
	int festPlatte2=0;
	
		while(festPlatte2==0)
		{
			 festPlatte2 = IO.promptAndReadInt("Bitte wählen Sie die Festplatte aus: ");

			
			if (festPlatte2 <160 || festPlatte2 > 500)
				{				
				festPlatte2=0;
				System.out.println("Steht nicht zur Verfügung!");
				}
		}
		
		
			System.out.println("Erfolgreich");

			
	
		
	
		 Verwaltung p2 = new Verwaltung( prozessor2,  ramSpeicher2,  festPlatte2);
		 p2.print();
		
		
	
	default: 
		
			IO.writeln("Sie haben die Anwendung abgebrochen!");
	break;
	
}
		}
		}

Noctarius: Bitte die Java-Tags nutzen
 
Zuletzt bearbeitet von einem Moderator:
Wie kann ich das programmieren dass ich bis zu X PC´s erstellen kann ohne jedes Mal die ganze Programmier und deklarier Arbeit zu machen?

also ich hab mir deinen code jetzt nicht angeschaut aber ich würde mal antworten: Java ist objektorientiert 😉

grüße nrg
 
Wie kann ich das programmieren dass ich bis zu X PC´s erstellen kann ohne jedes Mal die ganze Programmier und deklarier Arbeit zu machen?
Was verstehst Du unter PC erstellen? Gibt's eine Klasse bzw. ein Objekt, welches eine PC repräsentiert?
wenn Du die einmal gemachten Angaben wiederverwenden willst hintert Dich ja nichts daran. Die Informationen stehen ja weiterhin in
Code:
prozessor, ramSpeicher, festPlatte
zur Verfügung.
 
Ich habe ja zum Ende des Codes immer die Ausgabe "Um einen neuen PC zu erstellen drücken Sie..."
Dann müsste ich ja immer so weitermachen mit 2 , 3 ,4 usw und die Atrribute auch immer umbenennen in festplatte 1, 2 ,3 etc...

Geht das nicht auch über einen Array ?
 
Hier noch meine Klasse mit Konstruktor:


Java:
public class Verwaltung 

{

	private String prozessor;
	private int ramSpeicher;
	private int festPlatte;
	static int counter=0;
	
	public void setProzessor(String prozessor)
	{ this.prozessor = prozessor; }
	
	public String getProzessor()
	{ return prozessor; }
	
	public void setRamSpeicher(int ramSpeicher)
	{this.ramSpeicher = ramSpeicher;}
	
	public int getRamSpeicher()
	{return ramSpeicher;}
	
	public void setFestPlatte(int festPlatte)
	{this.festPlatte = festPlatte;}
	
	
	public Verwaltung(String pprozessor, int pramSpeicher, int pfestPlatte)
	{
		prozessor = pprozessor;
		ramSpeicher = pramSpeicher;
		festPlatte = pfestPlatte;
		counter++;
	}
	
	
	public void print()
	{
		IO.writeln("Ihr Artikel: " + "\nProzessor: " + prozessor + "\nGbRAM: " + ramSpeicher + "\nFestplatte: " + festPlatte);
	}
}

Bitte die Tags nutzen, es macht keinem Spaß sich in dieser Art durch Code zu wühlen
 
Zuletzt bearbeitet von einem Moderator:
Du kannst ja genauso wie bei der Abfrage nach den Komponenten eine while Schleife um das ganze setzen und darin immer den Inhalt von
Code:
select
prüfen
Java:
select = IO.promptAndReadInt("Um einen PC zusammzustellen wählen Sie die 1: ");
Was erwartest Du Dir von einem Array?
 
Wenn ich das richtig verstehe willst du die Eingegebenen Daten in einem Array speichern um sie nachher noch mal auszugeben oder wieso ???
Um die Abfrage erneut zu starten reicht eine While Schleife aus.
Java:
char Variable;
do {
  .....
System.out.println("Wiederholen?")
} while (Variable == ja);
 
also ich hab mir deinen code jetzt nicht angeschaut aber ich würde mal antworten: Java ist objektorientiert 😉

grüße nrg

weil dein code anfangs nicht in tags stand habe ich mir ihn wie gesagt nicht so angeschaut. Wusste nicht, dass zur Laufzeit die Möglichkeit bestehen soll X PC's zu erstellen. Somit war die Aussage eher quatsch 😉. Eine Schleife wär wohl dann eine passendere lösung.

Grüße
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben