Java Applet Ohmsches Gesetz

Status
Nicht offen für weitere Antworten.
K

Karl-Heinz

Gast
Hallo!
Ich würde gerne ein Java Applet erstellen, das den Strom, die Spannung und den Widerstand berechnen kann. Was berechnet werden soll, soll mit einem Radiobutton ausgewählt werden.
Die Werte werden in Textfelder eingegeben. Das Ergebnis soll in einem Label angezeigt werden.

Benötigt wird die Formel U= R*I

U= Spannung
R= Widerstand
I= Strom

Ich bin noch ziemlich neu in der Materie. Wie könnte ich das am besten anstellen?
Besten Dank im Vorraus!

Gruß
Karl-Heinz
 
G

Guest

Gast
Das liest sich wie 'ne Anwenderforderung! Soll dir jetzt jemand den kompletten Code posten, oder was?
 
S

stev.glasow

Gast
seh ich auch so - bitte nur frage zu 'konkreten' problemen.

*thema gelöscht.*

<edit>
doch nicht. habe jetzt einen bereich für so etwas angelegt.
 
K

Karl-Heinz

Gast
Nein, nicht den kompletten Quelltext. Nur einen Lösungshinweis. Danke!
 

Cruze

Neues Mitglied
Eine GUI mit: drei Textfeldern (U, I und R), ein Button "berechnen", ein Ausgabefeld
Bei Klick auf den Button, überprüfen, welches Feld (U, I oder R) leer ist.
Gleichung U = R*I nach dem fehlenden element umformen.
Bsp: Feld I ist leer, dann: I = U/R rechnen.
Ergebnis ausgeben.
Fertig
 

abollm

Top Contributor
Hallo,

nachfolgend einmal ein kleines Applet-Demo für die gestellte Aufgabe (ohne Gewähr und nur als Anregung):

Code:
// Ein kleines Beispiel-Applet zur Demonstration OHMsches Gesetz:
// U = R * I
// 
// <applet code=Demo 
// width=400 height=200> </applet>
// Autor: A. Bollmann
// Datum: 21.09.2004
// Zweck: Reine Demo
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.applet.*;

class BerechnungsLogik {
  private int modifier;
  public BerechnungsLogik(int mod) {
    modifier = mod;
  }
  public double berechnungU(double arg1, double arg2) {
    return arg1 * arg2;
  }
  // hier können noch weitere Berechnungen eingefügt werden ...
}

public class OHMschesGesetz extends JApplet {
  JTextField 
    i = new JTextField(25),
    r = new JTextField(25),
    erg = new JTextField(25); 
  BerechnungsLogik bl = new BerechnungsLogik(1);
  JButton berR = new JButton("Berechnung U [V]");
  static double getValue(JTextField tf) {
    try {
      return Double.parseDouble(tf.getText());
    } catch(NumberFormatException e) {
      return 0;
    }
  }
  class BerRL implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      erg.setText(Double.toString(
        bl.berechnungU(getValue(i),getValue(r))));
    }
  }

  public void init() {
    Container cp = getContentPane();
    cp.setLayout(new FlowLayout());
    cp.add(new JLabel("Ergebnis U[V]:"));
    cp.add(erg);
    berR.addActionListener(new BerRL());
    JPanel p1 = new JPanel();
    p1.add(new JLabel("Eingabe  I[A]:"));
    p1.add(i);
    cp.add(p1);
    JPanel p2 = new JPanel();
    p2.add(new JLabel("Eingabe R [Ohm]:"));
    cp.add(p2);;
    cp.add(r);
    JPanel p3 = new JPanel();
    cp.add(p3);
    p3.add(berR);
  }
  public static void main(String[] args) {
        JApplet applet = new OHMschesGesetz();
        applet.init();
        applet.start();
  }
}
 
B

Beni

Gast
Dir ist schon klar, dass diese Frage noch im letzten Jahr gestellt wurde... ?
 

abollm

Top Contributor
Klar, man ist ja stets bemüht auch den Nachzüglern einige praktische Beispiele an die Hand zu geben. Deutschland braucht doch in diesen harten Zeiten Wissen und kein Geschwafel, oder?
 
G

Gast

Gast
Oder mit switch / case ist auch ne Lösung :D


package blizzard;

import java.io.*;

/**
*

Überschrift:Ohmsches Gesetz </p>
*

Beschreibung:Ja Ohmsches Gesetz eben ! </p>
*

Copyright: Copyright (c) 2004</p>
*

Organisation:Mafia </p>
* @author Pascal Delle
* @version 1.2
*/
public class blizzard {
public blizzard() {
}

public static void main(String[] args) throws IOException {
blizzard blizzard1 = new blizzard();
BufferedReader input = new BufferedReader(
new InputStreamReader(System.in));
//_______________________________________________________________
String Eingabe_Main_String;
String Eingabe_U_String;
String Eingabe_R_String;
String Eingabe_I_String;
int Hauptauswahl;
double U;
double R;
double I;
//_______________________________________________________________
System.out.print(
"\nBitte Rechnung wählen I=1 U=2 R=3 : ");
Eingabe_Main_String = input.readLine();
Hauptauswahl = Integer.parseInt(Eingabe_Main_String); // Hauptabfrage

switch (Hauptauswahl) {
case 1: // I Berechnung
System.out.print("\nBitte U eingeben : ");
Eingabe_U_String = input.readLine();
U = Double.parseDouble(Eingabe_U_String);
System.out.print("\nBitte R eingeben : ");
Eingabe_R_String = input.readLine();
R = Double.parseDouble(Eingabe_R_String);
I = U / R;
I = Math.round(I * 100.) / 100.;
if (I < 1) {
I = I * 1000;
}
else {
if (I > 1000) {
I = I / 1000;
}
}

System.out.print("Strom (I) = " + I + " A");
break;

case 2: // U Berechnung
System.out.print("\nBitte I eingeben : ");
Eingabe_I_String = input.readLine();
I = Double.parseDouble(Eingabe_I_String);
System.out.print("\nBitte R eingeben : ");
Eingabe_R_String = input.readLine();
R = Double.parseDouble(Eingabe_R_String);
U = R * I;
U = Math.round(U * 100.) / 100.;
if (I < 1) {
I = I * 1000;
}
else {
if (I > 1000) {
I = I / 1000;
}
}

System.out.print("Spannung (U) = " + U + " V");
break;

case 3: // R Berechnung
System.out.print("\nBitte I eingeben : ");
Eingabe_I_String = input.readLine();
I = Double.parseDouble(Eingabe_I_String);
System.out.print("\nBitte U eingeben : ");
Eingabe_U_String = input.readLine();
U = Double.parseDouble(Eingabe_U_String);
R = U / I;
U = Math.round(U * 100.) / 100.;
if (I < 1) {
I = I * 1000;
}
else {
if (I > 1000) {
I = I / 1000;
}
}
System.out.print("Widerstand (R) = " + R + " Ohm");
break;
}
}
}
 
G

Gast

Gast
Ohhhhhhh dickes Sorry in case 2 und 3 hab ich einfach
kopiert eingefügt und vergessen zu ändern :)
kann pasieren


aus I = I * 1000;
wird U= U*1000 und / 1000
und bei case 3 R= Bla
 
Status
Nicht offen für weitere Antworten.

Oben