Interface/Swing/Exception

Status
Nicht offen für weitere Antworten.
G

GAST_64

Gast
Hallo Leute,

Ich schreibe gerade ein Programm, das die Protonenanzahl der chemischen Elemente zurückliefern soll.
Ich bin kein besonders erfahrener Programmierer, aber bin dabei es hoffentlich zu werden.

Ich habe mal jetzt ein coding geschrieben...aber ich komme nicht weiter...Ich möchte das wenn man in das Dialogfeld z.B. "H" eingibt, das Programm die Protonen anzahl von H ausgibt...

Ich würde mich um hilfe sehr freuen...




interface IF_Atom{
public void protonen ();
}
class Sauerstoff implements IF_Atom {
int protonen =3;
Sauerstoff(int protonen)
{this.protonen=protonen;}
public void protonen (){
System.out.println("Anzahl der Protonen beträgt: ");
}
}

class Wasserstoff implements IF_Atom {
int protonen =3;
Wasserstoff(int protonen)
{this.protonen=protonen;}
public void protonen (){
System.out.println("Anzahl der Protonen beträgt: ");
}
}

class Fluor implements IF_Atom {
int protonen =3;
Fluor(int protonen)
{this.protonen=protonen;}
public void protonen (){
System.out.println("Anzahl der Protonen beträgt: ");
}
}
public class TestAtom {
public static void main (String []args){
String Sauerstoff = "H";
String Wasserstoff = "O";
String Fluor = "F";
int protonen;
String s= javax.swing.JOptionPane.showInputDialog("Bitte geben sie ein küzel ein:");
protonen= Integer.parseInt(s);


}
}
 

hdi

Top Contributor
Was hat denn der Titel mit deiner Frage zu tun?
Ausserdem: Was ist denn eigentlich deine Frage?

Ich möchte das wenn man in das Dialogfeld z.B. "H" eingibt, das Programm die Protonen anzahl von H ausgibt
Dann tu das doch, wenn du auf konkrete Probleme stösst kannst du hier gerne nachfragen, aber hier
schreibt doch niemand ein Programm für dich, nur weil du das grad willst.

PS: Bitte nutze beim Verfassen von Posts den "Code"-Button oben im Menü für Code.
 

Schreibi

Mitglied
moin,
Code:
int protonen =3; 
Sauerstoff(int protonen) {
    this.protonen=protonen;
}
warum legst du erst ne anzahl fest, wenn du die im konstruktor (sollte besser public sein) übergeben haben willst?

warum die verschiedenen strings (sollten auch kleingeschrieben werden) in der testklasse?
warum die ganzen klassen wenn du sie gar nich benutzt?
 
G

Gast_64

Gast
Ja du hast recht, ich nutze die klassen nicht...
ehrlich gesagt... weiß ich gerade nicht wie ich sie nutzen soll...steh gerade total aufm schlauch...

Naja werde es sicherlich heute noch hinbekommen...

trotzdem danke
 

Landei

Top Contributor
Ich würde zwei Ansätze in Erwägung ziehen:

Flexible Lösung: Eine Atom-Klasse, die über statische Methoden die Atom-Objekte vorhält. Die Objekte werden vorher z.B. über eine Datei (z.B. XML) initialisiert.

Einfache Lösung: Enums
Code:
enum Atom {
  H("Wasserstoff", 1),
  He("Helium", 2),
  Li("Lithium", 3);

  private int protons;
  private String description;

  private Atom(String description, int protons) {
      this.description = description; 
      this.protons = protons;
  }

  public int getProtonCount() {
     return protons;
  }
  @Override
  public void toString() {
     return description; 
  }
}
Das Schöne dabei ist, dass ie Enum-Klasse über values() alle Atome zurückgibt, oder über valueOf("H") auch über den Namen. Natürlich kannst du neben Namen und Protonenzahl noch mehr Parameter nach dem gleichen Schema hinzufügen. Ich habe oben toString() mit der vollen Bezeichnung überschrieben, aber an den "Buchstaben" kommst du immer noch mit getName() ran.

[edit]
Ach ja, an deine Protonenzahl kommst du so: Atom.valueOf(deinEingabeString).getProtonCount();
Aber nicht vergessen, dass es eine Exception gibt, wenn der Nutzer Schwachfug eingibt. Einfach mit try-catch abfangen und eine "Gibt's nicht!" Meldung anzeigen oder so.
 

ARadauer

Top Contributor
hier mal die Lösung zu deinem Eingabe Problem

Code:
import java.util.HashMap;


interface IF_Atom{ 
   public int getProtonen (); 
} 
class Sauerstoff implements IF_Atom { 
     
   public int getProtonen (){
      return 3;
   }
} 

class Wasserstoff implements IF_Atom { 

   
   public int getProtonen (){
      return 4;
   }
} 

class Fluor implements IF_Atom { 
   public int getProtonen (){
      return 5;
   }
} 
public class TestAtom { 
   public static void main (String []args){ 
      String Sauerstoff = "H"; 
      String Wasserstoff = "O"; 
      String Fluor = "F"; 
      
      HashMap<String, IF_Atom> atome = new HashMap<String, IF_Atom>();
      atome.put(Sauerstoff, new Sauerstoff());
      atome.put(Wasserstoff, new Wasserstoff());
      atome.put(Fluor, new Fluor());
      
      
      int protonen; 
      String s= javax.swing.JOptionPane.showInputDialog("Bitte geben sie ein küzel ein:");
      IF_Atom atom = atome.get(s);
      if(s!=null){
         System.out.println(s+" hat "+atom.getProtonen()+" Protone...");
      }else{
         System.out.println(s+" gibts ned!");
      }


   } 
}
hier ist die Anwendung eines interfaces zwar nicht sinnvoll, aber euer lehrer wird sich dabei schon was gedacht haben...
 
G

GAST_64

Gast
Danke für die möglichen Lösungen,
habe jetzt doch noch eine hinbekommen, kriege es aber noch nicht zum laufen...

Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Princess
 */
interface IF_Atom{
    public void protonen ();
}
 class Sauerstoff implements IF_Atom {
    int protonen ;
   public Sauerstoff(int protonen)
    {this.protonen=protonen;}
    public void protonen (){
        System.out.println("Anzahl der Protonen beträgt: ");
    }
}

 class Wasserstoff implements IF_Atom {
    int protonen ;
    public Wasserstoff(int protonen)
    {this.protonen=protonen;}
    public void protonen (){
        System.out.println("Anzahl der Protonen beträgt: ");
    }
}

 class Fluor implements IF_Atom {
    int protonen ;
   public Fluor(int protonen)
    {this.protonen=protonen;}
    public void protonen (){
        System.out.println("Anzahl der Protonen beträgt: ");
    }
}
public class TestAtom {
    public static void main (String []args){
        String s= javax.swing.JOptionPane.showInputDialog("Bitte geben sie ein küzel ein:");
        if (s.equals("O"));{
            IF_Atom o = new Wasserstoff(5)o.protonen();
        }
        else if(s.equals("H")){
            IF_Atom H = new Sauerstoff(7)H.protonen();
        }
        else if (s.equals(F)){
            IF_Atom F=new Fluor(1)F.protonen();
        }
        else {
            System.out.println("FEHLER!!!");
        }
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I No Jakarta Enterprise Beans found with interface ignorieren? Java Basics - Anfänger-Themen 2
I No EJB found with interface of type Java Basics - Anfänger-Themen 12
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
Say Abstrakt oder Interface Java Basics - Anfänger-Themen 3
Say public/default Interface Java Basics - Anfänger-Themen 9
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
I Browser integriert in Desktop Applikation - Webcam interface not found Java Basics - Anfänger-Themen 26
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
J Interface Comparable<T> Java Basics - Anfänger-Themen 10
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
D Interface Verständisfrage Java Basics - Anfänger-Themen 8
U Interface | constructor injection Java Basics - Anfänger-Themen 5
J Interface Interface korrekt implementieren Java Basics - Anfänger-Themen 5
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
T Interface Map und Map.Entry Java Basics - Anfänger-Themen 4
U Interface als PAramter (Vergleich) und ein Error Java Basics - Anfänger-Themen 9
I Interface von einer EJB Klasse, um Code zu reduzieren Java Basics - Anfänger-Themen 1
M Interface als Parameter einer Klasse Java Basics - Anfänger-Themen 8
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
I JSON und Interface Java Basics - Anfänger-Themen 3
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
J Interface methode aufrufen (interface parameter) Java Basics - Anfänger-Themen 7
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
L Interface & Comparable Java Basics - Anfänger-Themen 15
T Interface Java Basics - Anfänger-Themen 0
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
E abstrakte Klasse implementiert ein Interface Java Basics - Anfänger-Themen 40
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
S Interface Equals und hashCode Java Basics - Anfänger-Themen 16
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
C Methoden-Parameter ist Interface Java Basics - Anfänger-Themen 5
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
A Interface Kuddelmuddel Java Basics - Anfänger-Themen 4
C Collections List über Interface zugreifen Java Basics - Anfänger-Themen 32
S Interface Interface und seine Implementierung Java Basics - Anfänger-Themen 5
H abstract und interface Java Basics - Anfänger-Themen 4
F Interface Casting Java Basics - Anfänger-Themen 13
C Telefonliste mit interface implementieren Java Basics - Anfänger-Themen 30
L Klassen Kann eine Unterklasse einer abstrakten Klasse ein Interface implementieren? Java Basics - Anfänger-Themen 2
H Interface Java Basics - Anfänger-Themen 2
R Quicksort mit Interface Comparable Java Basics - Anfänger-Themen 6
T Interface Methode im Interface mit mehreren Parametern Java Basics - Anfänger-Themen 10
B Interface vs Abstract Java Basics - Anfänger-Themen 2
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
pkm Interface Funktionales Interface lässt sich nicht implementieren. Java Basics - Anfänger-Themen 2
Kornblume Comparable Interface für Objektvergleiche nutzen Java Basics - Anfänger-Themen 15
I Comparator<T> Interface als Methodenparamter Java Basics - Anfänger-Themen 4
J OOP Wie sollte ich das organisieren (Abstract? Interface?) Java Basics - Anfänger-Themen 33
J Java Interface/abstrakte Klassen Java Basics - Anfänger-Themen 2
E Interface nur von abstrakter Klasse implementierbar?! Java Basics - Anfänger-Themen 1
J Vererbung Abstrake Klasse <-> Interface Java Basics - Anfänger-Themen 5
C Interface als Datentyp eines Attributes? Java Basics - Anfänger-Themen 6
U Interface Bedeutung "Code to an interface rather than to an implementation." Java Basics - Anfänger-Themen 4
M Erste Schritte Prüfungsbeispiel: Interface / abstrakte Klassen Java Basics - Anfänger-Themen 8
M Maven Main-Methode Interface und Klasse Java Basics - Anfänger-Themen 2
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
D Interface Amazon Skill Kit, Interface but method in other class? Java Basics - Anfänger-Themen 3
A Interface Abstrakte Interface Methode kann nicht benutzt werden Java Basics - Anfänger-Themen 10
J Compiler-Fehler class interface or enum expected Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
N Interface Interface Erstellung Java Basics - Anfänger-Themen 3
kilopack15 Beziehung Interface - (abstrakte) Klasse -Unterklasse Java Basics - Anfänger-Themen 3
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
Azazel Ist die abstract class das selbe wie ein interface ? Java Basics - Anfänger-Themen 33
K Interface: wie damit arbeiten Java Basics - Anfänger-Themen 4
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
T error: class, interface, or enum expected Java Basics - Anfänger-Themen 5
T Vererbung Interface Java Basics - Anfänger-Themen 5
F Interface aus anderem Package nutzen Java Basics - Anfänger-Themen 10
N Interface Daten einem Implementierten Interface zuweisen Java Basics - Anfänger-Themen 37
B Erste Schritte Wie definiere ich in Java ein Interface? Java Basics - Anfänger-Themen 6
L OOP Interface Prinzip? Java Basics - Anfänger-Themen 6
K Nutzung einer Klasse die das Iterator-Interface implementiert Java Basics - Anfänger-Themen 0
K Iterator-Interface implementieren mit Exception Handlung Java Basics - Anfänger-Themen 1
J Innerhalb Interfacemethode: Interface als Attribut Java Basics - Anfänger-Themen 2
A Frage zu Interface Java Basics - Anfänger-Themen 16
J Interface Java Basics - Anfänger-Themen 3
W Interface Java Basics - Anfänger-Themen 1
L Compiler-Fehler error: class, interface or enum expected Java Basics - Anfänger-Themen 2
G Interface java.util.Comparator: Wieso muss nur die Methode compare() implementiert werden Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
Shams Kann man von einem Interface aus auf die dieses implementierende Klasse zugreifen? Java Basics - Anfänger-Themen 4
S Generische Methode soll Objekte als Parameter erlauben die bestimmtes Interface implementieren^ Java Basics - Anfänger-Themen 9
J Frage zu dem Thema interface Java Basics - Anfänger-Themen 5
S Generics und Comparable Interface Java Basics - Anfänger-Themen 5
A Klasse,Vererbung,Interface,Singleton,Thread Java Basics - Anfänger-Themen 5
S Interface-Methode abrufen? Java Basics - Anfänger-Themen 2
G Vererbung Klasse erbt von abstrakter Klasse implementiert Interface Java Basics - Anfänger-Themen 2
M Konstanten in einem Interface definieren Java Basics - Anfänger-Themen 1
P interface Java Basics - Anfänger-Themen 1
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
M Interface als Datentyp Java Basics - Anfänger-Themen 12
K Interface Methoden überschreiben Java Basics - Anfänger-Themen 1
C Klassendesign / Wann Interface implementieren und wann Klassen vererben? Java Basics - Anfänger-Themen 3
A Interface in Collection (Liste) angeben Java Basics - Anfänger-Themen 2
G Interface klasse Java Basics - Anfänger-Themen 4
N Interface Interface (sinnvoll) erzeugen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen


Oben