Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe hier ein kleines Programm, welches den Gesamtwiderstand zweier parallel oder in Reihe geschalteter Widerstände (R1, R2) nach Eingabe der beiden Widerstandswerte berechnen soll.
Bevor überhaupt irgendwelche Werte abgefragt werden, wird der Benutzer gefragt, ob es sich um eine Parallel- oder Reihenschaltung handelt. Dazu soll der Benutzer entweder den Buchstaben P/p oder R/r eingeben.
Allerdings greift die Überprüfung danach in der IF-Schleife anscheinend nicht, da immer eine von mir vorher festgelegte Fehlermeldung ausgegeben wird, welche eigentlich nur bei einer komplett anderen Eingabe ausgegeben werden soll.
Im Nachfolgenden der Code. Falls jemand den Fehler findet und er ihn mir erklären kann, wäre ich sehr dankbar.
Viele Grüße,
Thomas
Code:
import java.io.*;
public class Widerstand
{
public static void main (String argv[]) throws IOException
{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String eingabe, wahl;
Integer r1, r2, gesamtwert;
System.out.println("Widerstands-Schaltung");
System.out.println("(P)arallelschaltung oder (R)eihenschaltung?");
eingabe = input.readLine();
wahl = eingabe;
System.out.println("Debug-Ausgabe der Variable \"wahl\": >"+wahl+"<");
System.out.print("R1 in Ohm: ");
eingabe = input.readLine();
r1 = Integer.parseInt(eingabe);
System.out.print("R2 in Ohm: ");
eingabe = input.readLine();
r2 = Integer.parseInt(eingabe);
if (wahl == "P" || wahl == "p")
{
gesamtwert = (r1*r2)/(r1+r2);
System.out.println("Der Gesamtwert der Parallelschaltung ist");
System.out.println(gesamtwert+" Ohm");
}
else
{
if (wahl == "R" || wahl == "r")
{
gesamtwert = r1+r2;
System.out.println("Der Gesamtwert der Reihenschaltung ist");
System.out.println(gesamtwert+" Ohm");
}
else
{
System.out.println("Fehler!");
}
}
System.out.println("Programmende Widerstand.");
}
}
1. gibt es keine if-schleife! www.if-schleife.de
2. Strings vergleicht man mit equals
3. verwende equalsIgnoreCase oder toUpper/LowerCase um deine Abfrage zu verkürzen
und damit alle schoen brav das noch erklaeren koennen
Code:
public class TestClass {
public static void main( String[] args ) throws IOException {
String p = "p";
H h = new H();
System.out.println(p == "p");
System.out.println(h.h == "h");
}
}
class H {
String h = "h";
}
1. gibt es keine if-schleife! www.if-schleife.de
2. Strings vergleicht man mit equals
3. verwende equalsIgnoreCase oder toUpper/LowerCase um deine Abfrage zu verkürzen