1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. SenorGonzales

Beiträge von SenorGonzales

  • Noob braucht Hilfe

    • SenorGonzales
    • 19. Januar 2007 um 18:07

    Werd ich natürlich ändern, aber alles zu seiner Zeit^^

  • Noob braucht Hilfe

    • SenorGonzales
    • 19. Januar 2007 um 17:43

    So, ich hab das nochmal überarbeitet, aber er mosert immer noch in Zeile 4, das er "This method must return a result of typ boolean"

    Java
    import java.util.*;
    public class Uebung5_2 {
    
    public static boolean armstrong (double t){ // Mir is klar, das hier was nicht stimmt, ich hab nur keine Ahnung, was...
    
    
    
        System.out.print("Die eingegebene Zahl ("+t);
    
        double h=0;                        //Hilfsvariable
    
        if (t==0){
            return false;}
        else if (t<=10){
                String s = Double.toString(t); //Float wird zu String umgewandelt, um die einzelnen Zahlen zu erhalten.
                double v = s.charAt(0);
                v=v-48;                            // Zahlenkorrektur
                h=Math.pow(v,v);
    
                if (t==h)
                    return  true;
                    else return false;}
    
    
        else if (t>=10&&t<100){
                String s = Double.toString(t); //Float wird zu String umgewandelt, um die einzelnen Zahlen zu erhalten.
                double v = s.charAt(0);
                double w = s.charAt(1);
                v=v-48;                            // Zahlenkorrektur
                w=w-48;
                h=Math.pow(v,v)+Math.pow(w,w);
    
                if (t==h)
                    return true;
                    else return false;}
    
        else if (t>=100&&t<1000){
                 String s = Double.toString(t); //Float wird zu String umgewandelt, um die einzelnen Zahlen zu erhalten.
                 double v = s.charAt(0);
                 double w = s.charAt(1);
                 double x = s.charAt(2);
                   v=v-48;                            // Zahlenkorrektur
                w=w-48;
                x=x-48;
                h=Math.pow(v,v)+Math.pow(w,w)+Math.pow(x, x);
    
                if (t==h)
                    return true;
                    else return false;}
    
        else if (t>=1000&&t<10000){
                String s = Double.toString(t); //Float wird zu String umgewandelt, um die einzelnen Zahlen zu erhalten.
                double v = s.charAt(0);
                double w = s.charAt(1);
                double x = s.charAt(2);
                double y = s.charAt(3);
                   v=v-48;                            // Zahlenkorrektur
                   w=w-48;                    
                   x=x-48;                    
                   y=y-48;                    
                   h=Math.pow(v,v)+Math.pow(w,w)+Math.pow(x, x)+Math.pow(y, y);
    
                   if (t==h)
                    return true;
                    else return false;}
    
    
    }
        public static void main(String[] args) {
    
            Scanner input = new Scanner (System.in);
            System.out.println("Bitte geben Sie eine Zahl ein, um zu prüfen, ob diese eine Armstrongzahl ist...");
            double t = input.nextDouble();
    
            if (armstrong(t)){
            System.out.println(" ist eine Armstrongzahl");}
    
               else System.out.println("ist keine Armstrongzahl");
    
    
        }
    }
    Alles anzeigen

    Was mach ich da falsch?

  • Noob braucht Hilfe

    • SenorGonzales
    • 19. Januar 2007 um 15:40

    Hmm, das mit den exp wusst ich zwar, aber ich bin ja nochnichmal so weit gekommen, das er das Rechnen angefangen hätte^^

    v=v-48 mach ich, weil ich in ner class vorher schonmal mit Armstrongzahlen gerechnet hatte, und er mit beim wandeln von Int zu String das ganze um 48 erhöht ausgegeben hat.

    Damals sah das so aus:

    Code
    public class Uebung4_3 {
    static String s;
    public static void main (String [] args){
    
        System.out.println("Programm zur Ermittlung der Armstrongzahlen zwischen 100 und 999");
        float t=100;                    //Testzahl mit Anfangswert 100, da das der geringste, 3-stellige Wert ist
        float h;                        //Hilfsvariable
    
        while (t<=999){
               t++;    
               String s = Float.toString(t);
               float x = s.charAt(0);
               float y = s.charAt(1);
               float z = s.charAt(2);    
               x=x-48;                    //Zahlenkorrektur
               y=y-48;                    //Zahlenkorrektur
               z=z-48;                    //Zahlenkorrektur
               h=x*x*x+y*y*y+z*z*z;
    
        if (t==h)
               System.out.println("Armstrongzahl "+h);
    
    
    
    }}}
    Alles anzeigen

    Ich glaub ich bau die Aufgabe nochmal neu auf :winking_face:

  • Noob braucht Hilfe

    • SenorGonzales
    • 19. Januar 2007 um 14:05

    Hallo zusammen,

    ich sitz schlepp jetzt schon seit ein paar Tagen diese Aufgabe mit, ich find einfach keine Lösung. Es geht um folgendes:

    Aufgabenstellung:

    Schreiben Sie eine Methode armstrong(n), die true zurückliefert, wenn die Ganzzahl n eine Armstrongzahl ist. Sonst wird false zurückgegeben.

    Und hier mein Code:

    Java
    import java.util.*;
    public class Uebung5_2 {
    
    static boolean armstrong (boolean erg, int t){ // Mir is klar, das hier was nicht stimmt, ich hab nur keine Ahnung, was...
    
    
    
        System.out.print("Die eingegebene Zahl ("+t);
    
        int h=0;                        //Hilfsvariable
    
        if (t==0){
            return erg=false;}
        else if (t<=10){
                String s = Integer.toString(t); //Float wird zu String umgewandelt, um die einzelnen Zahlen zu erhalten.
                int v = s.charAt(0);
                v=v-47;
                h=v^1;
    
                if (t==h)
                    return erg = true;
                    else return erg=false;}
    
    
        else if (t>=10&&t<100){
                String s = Integer.toString(t); //Float wird zu String umgewandelt, um die einzelnen Zahlen zu erhalten.
                int v = s.charAt(0);
                int w = s.charAt(1);
                v=v-48;
                w=w-48;
                h=v^2*w^2;
    
                if (t==h)
                    return erg = true;
                    else return erg=false;}
    
        else if (t>=100&&t<1000){
                 String s = Integer.toString(t); //Float wird zu String umgewandelt, um die einzelnen Zahlen zu erhalten.
                   int v = s.charAt(0);
                   int w = s.charAt(1);
                   int x = s.charAt(2);
                   v=v-48;
                w=w-48;
                x=x-48;
                h=v^3*w^3*x^3;
    
                if (t==h)
                    return erg = true;
                    else return erg=false;}
    
        else if (t>=1000&&t<10000){
                String s = Integer.toString(t); 
                   int v = s.charAt(0);
                   int w = s.charAt(1);
                   int x = s.charAt(2);
                   int y = s.charAt(3);
                   v=v-48;                    
                   w=w-48;                    
                   x=x-48;                    
                   y=y-48;                    
                   h=v^4*w^4*x^4*y^4;
    
                   if (t==h)
                    return erg = true;
                    else return erg=false;}
    
    
    }
        public static void main(String[] args) {
            Scanner input = new Scanner (System.in);
            System.out.println("Bitte geben Sie eine Zahl ein, um zu prüfen, ob diese eine Armstrongzahl ist...");
            boolean erg=true;    //erg= true, damit erg initialisiert werden kann.
            int t = input.nextInt();
            armstrong(erg, t);
            if (erg==true)
            System.out.println(" ist Armstrong");
    
               else System.out.println("ist nicht Armstrong");
    
    
        }
    }
    Alles anzeigen

    So, das ganze funzt nicht, meine Frage is nun, wie ich es schaffen kann, eine Methode (armstrong(n), wobei n ja eine Ganzzahl sein soll) zu schreiben, die gleichzeitig aber einen boolean zurückgibt.

    Wie geht sowas?

    Falls die Frage hier fehl am Platz is, bitte ich das zu entschuldigen :wein:

    Ich verzweifel bald^^

Rechtliches

Impressum

Datenschutzerklärung