Java Programm

Diskutiere mit über: Java Programm im Web-Programmierung Forum

  1. mike6996

    mike6996 Thread Starter MacUser Mitglied

    Beiträge:
    34
    Zustimmungen:
    0
    Registriert seit:
    23.04.2005
    Hi,
    muss grad ein Programm für die Uni schreiben. Leider funktioniert es nur, wenn ich alles in die Main-Methode packe.
    Evtl. könnt ihr mir helfen...
    Stelle mal meinen Quellcode rein und die Aufgabenstellung.

    Danke schonmal für eure Mithilfe


    Aufgabenstellung:
    Schreiben Sie ein Java-Programm, das 16 Integerzahlen zeilenweise in ein 4x4-Array einliest und dann teste, ob irgendwo in einer Zeile oder Spalte an benachbarten Positionen gleiche Werte stehen!

    Mein bisheriges Ergebnis:

    import java.io.*;

    public class PropraUe294
    {
    static int Dimension = 4;

    public static void main(String[] argv)
    {
    int dreieck [][] = new int [Dimension][Dimension];
    einlesen();

    //Auswertung
    for (int i = 0; i < Dimension; i++){
    for (int j = 0; j <Dimension; j++){
    if (dreieck[j] == dreieck[j]){
    System.out.println("dies sind "+dreieck[j]+ "gleiche Zahlen");
    }
    }
    }

    }

    public void einlesen() throws IOException
    { int dreieck [][] = new int [Dimension][Dimension];
    BufferedReader tastatur = new BufferedReader(new InputStreamReader(System.in));
    //Eingabe von den verschiedenen Zahlen
    String eingabe;
    for(int i = 0; i < Dimension; i++){
    for(int j = 0; j < Dimension; j++){
    System.out.println("Bitte geben sie eine Zahl ein");
    eingabe = tastatur.readLine();
    dreieck[j] = Integer.parseInt(eingabe);
    }
    }
    }

    }
     
  2. FrediFredsen

    FrediFredsen MacUser Mitglied

    Beiträge:
    316
    Zustimmungen:
    2
    Registriert seit:
    19.11.2004
    Ich habe es nur mal überflogen, aber static Variablen lassen sich auch nur aus static Methoden ansprechen.
    Schreib einfach eine Methode, die alles das macht, was in der main steht, entferne das static vor der Variablen und rufe die neu erstellte Methode aus der main aus...

    War das dein einziges Problem? ANsonsten müsste das doch eigentlich wie gewollt funktionieren...
     
  3. mike6996

    mike6996 Thread Starter MacUser Mitglied

    Beiträge:
    34
    Zustimmungen:
    0
    Registriert seit:
    23.04.2005
    Also wenn ich alles in die Main-Methode reinschreib dann funktioniert es ohne Probleme... Genau, das was du beschrieben hast war vorher schon möglich, aber ich wollte von der Main-Methode auf eine Methode zugreifen... Weiß nicht, ob es überhaupt funktioniert, aber es wäre schön, wenn es gehen würde, dass ich das Einlesen und das Vergleichen von der Main-Methode aus aufrufen könnte...
    Vielen dank aber schon für die Antworten
     
    Zuletzt bearbeitet: 13.07.2005
  4. FrediFredsen

    FrediFredsen MacUser Mitglied

    Beiträge:
    316
    Zustimmungen:
    2
    Registriert seit:
    19.11.2004
    Das funktioniert und zwar genau so, wie ich geschrieben habe. Du erstellst eine Methode einlesen() und eine vergleiche().
    Dann rufst du die vergleiche() genau so auf wie die einlesen().
    Wenn wir aneinander vorbeireden, dann probiers mal genauer zu erklären...
    Gruß
     
  5. matschex

    matschex MacUser Mitglied

    Beiträge:
    24
    Zustimmungen:
    0
    Registriert seit:
    26.06.2005
    hiho

    wie wäre es den wenn du das array als klassenvariable deklarierst.
    dann kannst du sicher sein das das array in jeder methode die du aufrufst auch gleich ist.
    und das static vor dem deminsion weg.

    und viel glück ...

    wenn es nicht geht poste mal bitte die fehlermeldung von der vm ... da kann man mehr raus sehen!
     
  6. FrediFredsen

    FrediFredsen MacUser Mitglied

    Beiträge:
    316
    Zustimmungen:
    2
    Registriert seit:
    19.11.2004
    Ich bin jetzt hier weg.
    HIer sind mal ein paar SChritte, die du befolgen solltest:

    - Erstelle die beiden Methoden
    - Erstelle in der main ein Objekt von deiner Klasse und rufe darüber die Methoden auf
    - Dann solltest du dir noch mal deine AUswertung angucken, ob die denn Sinn macht... (IMHO relativ wenig...)
    - Du solltest dir dann mal in Ruhe geschachtelte Array angucken...
    - Ich empfehle: java ist ein Insel (online umsonst...) --> google

    Viel Spass noch...

    PS: Welche UNi?
     
  7. mike6996

    mike6996 Thread Starter MacUser Mitglied

    Beiträge:
    34
    Zustimmungen:
    0
    Registriert seit:
    23.04.2005
    Wie kann ich das Array als Klassenvariable deklarieren?
    @FrediFrenson
    Ich glaube wir reden nicht aneinader vorbei, aber ich weiß nicht, wie ich die static auflösen kann so dass keine Fehlermeldung kommt.
    Bin in der Uni Passau

    Fehlermeldung ist bis jetzt: non-static method einlesen() cannot be referenced from a static context
    einlesen();
     
  8. FrediFredsen

    FrediFredsen MacUser Mitglied

    Beiträge:
    316
    Zustimmungen:
    2
    Registriert seit:
    19.11.2004
    import java.io.*;
    public class egal {

    int Dimension;


    public egal(int dim){
    this.Dimension =dim;
    }

    public static void main(String[] args) {
    egal e = new egal(4);

    try {
    e.auswerten(e.einlesen());
    } catch (IOException e1) {
    System.out.println(e1.getMessage());
    }

    }

    public void auswerten(int[][] dreieck){
    for (int i = 0; i < Dimension; i++){
    for (int j = 0; j <Dimension; j++){
    if (dreieck[j] == dreieck[j]){
    System.out.println("dies sind "+dreieck[j]+ "gleiche Zahlen");
    }
    }
    }
    }

    public int[][] einlesen() throws IOException{
    int[][] dreieck = new int [Dimension][Dimension];
    BufferedReader tastatur = new BufferedReader(new InputStreamReader(System.in));
    // Eingabe von den verschiedenen Zahlen
    String eingabe;
    for(int i = 0; i < Dimension; i++){
    for(int j = 0; j < Dimension; j++){
    System.out.println("Bitte geben sie eine Zahl ein");
    eingabe = tastatur.readLine();
    dreieck[j] = Integer.parseInt(eingabe);
    }
    }
    return dreieck;
    }

    }
     
  9. FrediFredsen

    FrediFredsen MacUser Mitglied

    Beiträge:
    316
    Zustimmungen:
    2
    Registriert seit:
    19.11.2004
    So, Formatierungen sind leider weg.

    So sieht das Grundgerüst aus. Wie gesagt, mach dir nochmal Gedanken, wie du den Vergleich anstellen willst. Es macht im Moment nicht viel Sinn. Du vergleichst (if (dreieck[j] == dreieck[j]) zwei gleiche Zahlen und gibst dann aus, dass sie gleich sind...
    Aber das ist glaube ich besser, dass du auf die Lösung kommst. Kopier dir mal das Gerüst in deine IDE und dann kannst du dich um das wesentliche kümmern...

    Die SChritte oben empfehle ich trotzdem...
     
  10. mike6996

    mike6996 Thread Starter MacUser Mitglied

    Beiträge:
    34
    Zustimmungen:
    0
    Registriert seit:
    23.04.2005
    Vielen Dank,
    der Vergleich ist leider während meiner Arbeit nur verrückt.
    Hast mir wirklich sehr geholfen. Der Rest klappt ohne Probleme.

    Mike
     
Die Seite wird geladen...
Ähnliche Themen - Java Programm Forum Datum
DIV-Tag aktualisieren OHNE externen Inhalt zu laden Web-Programmierung 02.02.2013
Musicplayer in Java Web-Programmierung 09.08.2011
OpenGTS Installation Web-Programmierung 20.01.2011
Java Script problem Web-Programmierung 30.09.2010
Browsergame: rohstoffe zuschreiben Web-Programmierung 02.06.2010

Diese Seite empfehlen