Erste Schritte Compiling Probleme

FridolinF

Mitglied
Guten Tag!

Also ich versuche mich gerade an meinen ersten Programmen in Java und stehe jetzt vor folgendem Problem:

Ich habe versucht eine Klasse zu schreiben mit zwei Methoden:

- max soll den größten Wert von 3 Integern ausgeben
- ausgabeQuadratRueck soll von int n² bis 1² absteigend die Quadratzahlen ausgeben.

Das Ganze sieht so aus
Code:
public class Zahlen {
   
   
   
   
public static void ausgabeQuadRueck(int n){
        
         while (n>=1){
             System.out.println (n*n + "\n");
             n= n-1;
         }
            

     }
   
    
public static int max(int a, int b, int c) {
    
     if (a >= b & a>=c) {
         return a;
     }
    
     if (b >= a & b >= c) {
          return b;
     }
       
     if (c >= a & c >= b) {
         return c;
     }
    
     else {
         return (a);
     }
    
        

}         
}

Das Ganze funktioniert aber nicht. Ich bin mir relativ sicher dass das void ein Problem darstellt, aber hänge da nun schon so lange dran dass ich nicht mehr durchblicke.

Der Compiler gibt mir Folgendes aus:

1 Java user-submitted files found for compilation: Zahlen.java
Java compiler output:
TestSuite.java:38: error: cannot find symbol
Zahlen.ausgabeQuadratRueck(5);
^
symbol: method ausgabeQuadratRueck(int)
location: class Zahlen
TestSuite.java:45: error: cannot find symbol
Zahlen.ausgabeQuadratRueck(1);
^
symbol: method ausgabeQuadratRueck(int)
location: class Zahlen
2 errors
1


Also wenn jemand sich die Zeit nehmen würde und mir kurz erklären würde was genau das Problem ist und wie ich es korrigieren kann, wäre ich sehr dankbar!

MfG
 
Den habe ich leider nicht. Ich lade das im Rahmen des Studiums in einen Praktomaten hoch.

Die Aufgabenstellung lautet:
Schreiben Sie eine Klasse mit folgenden Methoden:

max nimmt 3 ganzzahlige Argumente an und gibt den größten dieser Werte zurück.

ausgabeQuadratRueck nimmt ein positives ganzzahliges Argument n an und gibt auf dem Bildschirm die Quadratzahlen von n² bis 1² in absteigender Reihenfolge zeilenweise aus. Die Methode gibt keinen Ergebniswert zurück.
 
Die kommen von der Main-Methode.

Würde so aussehen als Beispiel für die Methode "max"

Java:
public class Test {
    public static void main(String[] args)  {
        System.out.println(Zahlen.max(10,12,32));
    }
}
 
Hi


Dein \n ist hier überflüssig. Die Ausgabe wird nicht nebeneinander dargestellt. Zusätzlich kannst du noch n=n-1; abkürzen durch --n;

Viele Grüße
Zhazh
Stimmt. Hatte das Programm mit der Änderung Quadrat anstatt Quad noch mal hochgeladen und habe folgende Fehlermeldung bekommen, diesmal inhaltlich, beim Complilieren lief alles gut:



Code:
TestSuite 'Pre':
================================
Testfall 'Zahlen_ausgabeQuadratRueck_1':
  Zahlen.ausgabeQuadratRueck(5);
  // Pruefen der Ausgabe auf System.out
FEHLER: zuletzt erwarteter und tatsaechlich erhaltener Wert unterscheiden sich:
erwartet:
--------------------------------
"25
16
9
4
1
"
--------------------------------
erhalten:
--------------------------------
"25

16

9

4

1

"
--------------------------------
Testfall 'Zahlen_max_1':
OK
================================
TestSuite fehlgeschlagen :-(

Mit den von dir angesprochenen Änderungen ist jetzt alles richtig.


Vielen Dank an alle Beiteiligten!

Der Vollständigkeit halber, das fertige, korrekte Programm sieht nun also so aus:

Code:
public class Zahlen {
   
   
   
   
public static void ausgabeQuadratRueck(int n){
        
         while (n>=1){
             System.out.println (n*n);
             --n;
         }
            

     }
   
    
public static int max(int a, int b, int c) {
    
     if (a >= b & a>=c) {
         return a;
     }
    
     if (b >= a & b >= c) {
          return b;
     }
       
     if (c >= a & c >= b) {
         return c;
     }
    
     else {
         return (a);
     }
    
        

}         
}
 

Zurück
Oben