Anzahl der Werte bestimmen

Bastik1007

Aktives Mitglied
Hallo,
wir sollen für die Schule einen Widerstandsberechner von 2 Werten in einer Reihen- oder Parallelschaltung programmieren. Ich habe das erstmal so gelöst:
Java:
import static java.lang.System.*;
import java.util.Scanner;

public class Widerstand {


   public static void main(String[] args) {
      Scanner scan = new Scanner(in);
      
      float Wert1,Wert2;
      float ergebnis;
      String eingabe;
      
      out.println("Es gibt Parallelschaltung und Reihenschaltung."); 

      try {
    	  Thread.sleep(2000);
      	}
      	catch (InterruptedException e){ 
      	}
      
      out.println("Wählen Sie R bzw r für Reihenschaltung und P bzw p für Parallelschaltung:");
      eingabe = scan.next();      
      
      if (eingabe.equals("P")||eingabe.equals("p")) {
         out.println("Sie haben Parallelschaltung gewählt, geben sie nun die beiden Werte ein.\nWert 1:");
         Wert1 = scan.nextFloat();
         out.println("Wert 2:");
         Wert2 = scan.nextFloat();
         ergebnis = (1/Wert1+1/Wert2);
         ergebnis = 1/ergebnis;
         
         out.println("Das Ergebnis aus beiden Werten lautet: " + ergebnis);
      }
      
      if (eingabe.equals("R")||eingabe.equals("r")) {
         out.println("Sie haben Reihenschaltung gewählt, geben sie nun die beiden Werte ein.\nWert 1:");
         Wert1 = scan.nextInt();
         out.println("Wert 2:");
         Wert2 = scan.nextFloat();
         ergebnis = Wert1+Wert2;
         out.println("Das Ergebnis aus beiden Werten lautet: " + ergebnis);
         
      } else
         out.println("Bitte nur R bzw r oder P bzw p eingeben");
         
      }
      
 
}

Aber ist ja doof, wenn man nur 2 Werte berechnen kann. Also wie kann ich das machen, dass man vorher die Anzahl der Werte bestimmt. Ich hab da echt keine Ahnung wie man das machen könnte.
Bitte um Hilfe :)
 
Zuletzt bearbeitet:

XHelp

Top Contributor
Du kannst ja vorher den Benutzer Fragen, wieviele Werte er eingeben möchte. Die Werte musst du dann in ein Array packen.
Oder du lässt die Eingabe solange laufen, bis der Benutzer eine 0 eingibt. Da du aber die Anzahl vorher nicht weißt, solltest du da eher eine Liste nehmen (ArrayList<Float> oder so)
 
G

Gonzo17

Gast
Du könntest zum Beispiel ein
Code:
float[] values
definieren und dieses am Anfang initialisieren, indem du den Benutzer nach der gewünschten Anzahl fragst. Dann hast du mit
Code:
int count = scan.nextInt()
und
Code:
values = new float[count]
ein Array der gewünschten Größe. Später musst du dann eben eine for-Schleife durchlaufen, wenn die einzelnen Werte eingegeben werden sollen. Aber wenn du dir
Code:
count
merkst und wiederverwendest, hast du ja die genaue Obergrenze der for-Schleife. ;)
 

nrg

Top Contributor
ich würde in der Klasse Widerstand wert1,wert2 (Variablen sind lowerCamelCase) als Attribute definieren. Dann ein Konstruktor
Code:
public Widerstand(float wert1, float wert2)
erstellen und eine Methode zum Berechnen des ergebnis. Von der Klasse Widerstand erzeugst du dann eine ArrayList<Widerstand>.
Achja, es gibt auch eine Methode equalsIgnoreCase String (Java Platform SE 6) (edit: ah. hat ja schon der Vorposter geschrieben ;)).

edit2: in Zeile 36 solltest du ein else if machen
 
Zuletzt bearbeitet:

Bastik1007

Aktives Mitglied
Ja okay, danke. Werds mal ausprobieren :) aber mir is ein anderer fehler aufgefallen, und zwar, wenn man parallelschaltung wählt, gibt der nach dem ergebnis das "else out.println("bitte geben sie nur r oder p ein");" von der 2. if schleife aus. Wenn ich 2 else rein mach, gehts nicht, wenn ich das else nach der 1. schleife setz, gehts nicht und wenn ich ne 3. if bedingung mach, die sagt, dass wenn !eingabe.equalsIgnoreCase("r,p") ist, dann gehts auch nicht... hilfeee !

edit: also ich will jetz einfach nur, dass wenn kein r oder p eingegeben wird, dass ne fehlermeldung rauskommt
 
Zuletzt bearbeitet:
G

Gonzo17

Gast
Da musst du ein
Code:
else if
benutzen:

Java:
if(a==b){
//...
} else if (a==c){
//...
} else {
// ...
}
 

Bastik1007

Aktives Mitglied
ich verstehs doch noch nicht ganz mit dem ArrayList. Bzw...ich verstehs überhaupt nicht :/ wenn ihr mir mit meinem code das mal zeigen würde, wie das gemeint ist..muss ja nicht gleich alles sein, nur so ne kleine starthilfe oder so :(
 
G

Gonzo17

Gast
Habs ja eigentlich schon fast erklärt. Hier nochmal ein Code-Schnipsel, an dem du dich orientieren könntest:

Java:
int count = scan.nextInt();
float[] values = new float[count];
// ...
for (int i = 0; i < count; i++) {
	System.out.println("Wert " + (i + 1) + ":");
	values[i] = scan.nextFloat();
}
 

nrg

Top Contributor
hatte weng langeweile auf der Arbeit ;). vielleicht hilft dir ja der Code ein bisschen weiter. So in der Art (ist jetzt eher quick&dirty) würde ich das machen.
Java:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Widerstand {

	public static enum Type {PARALLEL, SERIAL};
	private float firstValue, secValue;
	private Type type;


	public Widerstand(float firstValue, float secValue, Type type) {
		this.firstValue = firstValue;
		this.secValue = secValue;
		this.type = type;
	}

	public float getFirstValue() {
		return firstValue;
	}

	public float getSecValue() {
		return secValue;
	}

	public float getResult() {
		// Berechnung in Abhängigkeit von type
		return 0.0f;
	}

	public static void main(String[] args) {
		List<Widerstand> list = new ArrayList<Widerstand>();
		SimpleScanner sscn = new SimpleScanner();

		System.out.println("Es gibt Parallelschaltung und Reihenschaltung");
		String input = sscn.getString("Wählen Sie R bzw. r für Reihenschaltung, P bzw. p für Parallelschaltung oder e bzw. E um die Ergebnisse anzuzeigen> ");      

		while (!input.equalsIgnoreCase("e")) {
			if (input.equalsIgnoreCase("p")) {
				System.out.println("Sie haben Parallelschaltung gewählt, geben sie nun die beiden Werte ein");
				list.add(new Widerstand(sscn.getFloat("Wert 1> "), sscn.getFloat("Wert 2> "), Widerstand.Type.PARALLEL));
			} else if (input.equalsIgnoreCase("r")) {
				System.out.println("Sie haben Reihenschaltung gewählt, geben sie nun die beiden Werte ein");
				list.add(new Widerstand(sscn.getFloat("Wert 1> "), sscn.getFloat("Wert 2> "), Widerstand.Type.SERIAL));
			} else {
				System.out.println("Sie haben keine gültige Auswahl getroffen");
			}
			input = sscn.getString("Wählen Sie R bzw. r für Reihenschaltung, P bzw. p für Parallelschaltung oder e bzw. E um die Ergebnisse anzuzeigen> ");
		}

		if (list.isEmpty()) {
			System.out.println("Es erfolgt keine Ausgabe, weil keine Widerstände definiert wurden");
		} else {
			for (Widerstand ws : list) {
				System.out.printf("Das Ergebnis der Werte %f und %f lautet %f", ws.getFirstValue(), ws.getSecValue(), ws.getResult());
			}
		}
	}
}

class SimpleScanner {

	private static Scanner scn;

	SimpleScanner() {
		scn = new Scanner(System.in);
	}

	String getString(String prompt) {
		System.out.print(prompt);
		return scn.next();
	}

	float getFloat(String prompt) {
		System.out.print(prompt);
		return scn.nextFloat();
	}
}
Berechnung habe ich mal weggelassen. Fand deine Rechnung weng umständlich und wenn ich jetzt probier den Physikunterricht von der 9ten aufzufrischen verkack ich das eh nur. kannst ja du dazu machen ;)

edit: die getter bzw. den Zugriff auf Type über Widerstand kannst du dir natürlich sparen, wenn du das in eine Klasse machst. Ich würde daraus eh 3 Klassen machen. Habe es jetzt einfach zum einfachen c&p und testen in eine gemacht.
 
Zuletzt bearbeitet:
B

Bfasdgsd

Gast
wie kann man die werte dann verwenden, wenn ich int count = scan.nextInt();
float[] values = new float[count];
// ...
for (int i = 0; i < count; i++) {
System.out.println("Wert " + (i + 1) + ":");
values = scan.nextFloat();
}

verwende?
also die verschiedenen werte mit einer formel berechnen lassen
 
G

Gonzo17

Gast
Ähm.. ???:L
Die Werte werden doch im Array values gespeichert, du kannst die einfach mit zB values[0] abrufen. Oder einfach in der for-Schleife mit values. Bin mir nicht sicher, ob das deine Frage beantwortet, aber was hat das denn mit dem ursprünglichen Thread zu tun?!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Anzahl bestimmter Werte eines arrays bestimmen Java Basics - Anfänger-Themen 4
T arrays: Anzahl der verschiedenen Werte bestimmen Java Basics - Anfänger-Themen 7
stylegangsta Anzahl der gefunden array Werte ausgeben Java Basics - Anfänger-Themen 6
E Array Anzahl verschiedener Werte ausgeben Java Basics - Anfänger-Themen 3
J Listen - Anzahl positiver Werte drucken Java Basics - Anfänger-Themen 8
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
C Parameter in verschiedenen Anzahl und Typen Java Basics - Anfänger-Themen 6
Ibrahim Anzahl möglicher Reiserouten zurückgeben Java Basics - Anfänger-Themen 5
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
nils812 Black Jack Karten Anzahl begrenzen Java Basics - Anfänger-Themen 5
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
I Prüfen, ob Anzahl an Monate ein Jahr ergeben Java Basics - Anfänger-Themen 4
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
C Anzahl ArrayLists unbekannt Java Basics - Anfänger-Themen 4
O Anzahl Datensätze ausgeben Java Basics - Anfänger-Themen 5
T Maximale Anzahl von Konsonanten im String Java Basics - Anfänger-Themen 6
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
W Anzahl der Zeilen ausgeben lassen Java Basics - Anfänger-Themen 20
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3
M Anzahl Schleifendurchgänge nach x Sekunden anzeigen Java Basics - Anfänger-Themen 2
P Primzahl mit Angabe der höchsten Primzahl und Angabe der Anzahl von Primzahlen bis 100 Java Basics - Anfänger-Themen 8
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
B Von Array nur eine bestimmte Anzahl bekommen Java Basics - Anfänger-Themen 3
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
O ObjectOutputStream Anzahl Objekte festhalten Java Basics - Anfänger-Themen 17
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
H Anzahl verschiedener Buchstaben im String Java Basics - Anfänger-Themen 41
sondr Anzahl der gleichen Positionen im Array Java Basics - Anfänger-Themen 3
Y Konkrete Hilfe gesucht - Anzahl der Stellen einer eingegebenen Zahl überprüfen Java Basics - Anfänger-Themen 5
Y Begrenzte Anzahl an Objekten? Java Basics - Anfänger-Themen 12
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
L Graphen: Anzahl Knoten // Knoten in Array speichern Java Basics - Anfänger-Themen 4
E Anzahl Datensätze in Textfeld Java Basics - Anfänger-Themen 5
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
L Feld mit beliebiger Anzahl von Buchstaben füllen... Java Basics - Anfänger-Themen 5
LikeManuel Anzahl der Teiler Java Basics - Anfänger-Themen 6
D Anzahl von Zahlen bei eingabe begrenzen Java Basics - Anfänger-Themen 37
T Erste Schritte Schreiben Sie eine Klasse Zeit, die eine Zeitdauer in Minuten beschreibt. Die Anzahl Minuten verwalt Java Basics - Anfänger-Themen 3
J Max. Anzahl von Knoten im Binärbaum Java Basics - Anfänger-Themen 3
ralli85 Programm nach einer gewissen Anzahl von Eingaben beenden Java Basics - Anfänger-Themen 15
Z Ausgabe: Anzahl Sterne, danach verringern Java Basics - Anfänger-Themen 7
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
A Anzahl der Elemente in einem Stack wiedergeben Java Basics - Anfänger-Themen 3
V Anzahl der Möglichkeiten 20 € zu bezahlen Java Basics - Anfänger-Themen 2
A variable Anzahl an Nutzereinagben Java Basics - Anfänger-Themen 4
D Variable Anzahl an Buttons per Schleife Java Basics - Anfänger-Themen 7
H Liste ausgeben (Spiel Hey Fisch (software-challenge) ändern Anzahl Fische) Java Basics - Anfänger-Themen 1
M Überschneidende Anzahl von Tagen Java Basics - Anfänger-Themen 4
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
S Input/Output Alphabet in eine Datei schreiben und Anzahl von Zeichen ausgeben. Java Basics - Anfänger-Themen 4
I Anzahl der Rechenschritte darstellen lassen Java Basics - Anfänger-Themen 11
C Anzahl bestimmter Zeichen in einem String ausgeben Java Basics - Anfänger-Themen 7
A Rekursion, Anzahl von Stellen ausgeben Java Basics - Anfänger-Themen 7
S Anzahl Quersummen bis zur Einstelligkeit Java Basics - Anfänger-Themen 12
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
G Performance - höhere Anzahl Swing Elemente Java Basics - Anfänger-Themen 5
R Begrenzer Anzahl von paint() ? Java Basics - Anfänger-Themen 3
J Anzahl von for-Schleifen in Abhängigkeit von Zahleneingabe erzeugen Java Basics - Anfänger-Themen 1
C Beliebige Anzahl Arrays zusammenfügen Java Basics - Anfänger-Themen 5
L Best Practice Alle Kombinationen aus Listenelementen, Anzahl Listen unterschiedlich Java Basics - Anfänger-Themen 6
I Methoden ByteBuffer - Anzahl führender Nullen Java Basics - Anfänger-Themen 3
V Anzahl von gleichen Werten in einem Int-Array ermitteln Java Basics - Anfänger-Themen 4
B Anzahl if anweisungen nicht bekannt Java Basics - Anfänger-Themen 3
T Anzahl der Schritte berechnen Java Basics - Anfänger-Themen 6
R Anzahl der ineinander verschachtelten for-Schleifen von Variable abhängig machen Java Basics - Anfänger-Themen 5
P BitSet- Objekt- Anzahl der Elemente bestimmen Java Basics - Anfänger-Themen 2
B Variablen Unbekante anzahl an Strings splitten und vergleichen Java Basics - Anfänger-Themen 31
M Anzahl Zahlen in String Java Basics - Anfänger-Themen 21
A Threads Minimale und maximale Anzahl. Java Basics - Anfänger-Themen 28
J Bestimmte Anzahl Zeichen aneinander fügen Java Basics - Anfänger-Themen 9
H Anzahl Ziffer in Zahl bestimmen Java Basics - Anfänger-Themen 3
A Anzahl nodes in einem Tree Java Basics - Anfänger-Themen 2
G maximale Anzahl der Tage im Monat Java Basics - Anfänger-Themen 18
G Datentypen Double ausgeben mit minimaler Anzahl Nachkommastellen Java Basics - Anfänger-Themen 3
P Anzahl der else if Operatoren begrenzt?? Java Basics - Anfänger-Themen 7
B genaue Anzahl der Operationen in Schleifen Java Basics - Anfänger-Themen 5
Dit_ Anzahl der Bestellungen grafisch abbilden | Statistisk Java Basics - Anfänger-Themen 6
Luk10 Anzahl der Knoten in einem Baum ausgeben! Java Basics - Anfänger-Themen 6
F Methoden Hanoi - Anzahl der Bewegungen Java Basics - Anfänger-Themen 8
A Counter für die anzahl von regulären ausdrücken Java Basics - Anfänger-Themen 4
M float/double Anzahl Nachkommastellen ermitteln Java Basics - Anfänger-Themen 18
K Sortierung von Anzahl der Wörtern in ArrayList Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben