Java – die besten Beiträge

Java: Wieso bekomme ich diesen Fehler ("ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9")?

Bei meinem Code kommt nach der Eingabe eines Wortes immer folgender Fehler.

Das ist alles von der Konsole:

Bitte geben Sie ein Wort für das B-Sprachen Spiel ein: Hallo
5
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9
at B_SprachenSpiel/Lektion_7.B_SprachenSpiel.Spiel(B_SprachenSpiel.java:42)
at B_SprachenSpiel/Lektion_7.B_SprachenSpiel.main(B_SprachenSpiel.java:14)

Danach sollte eigentlich noch das Wort (in dem Fall Hallo) ausgegeben werden, nur dass es durch die Änderung dann Haballobo heißt. Das soll das Programm machen. Doch ich verstehe nicht, wieso immer wieder dieser Fehler kommt.

Folgendes ist mein kompletter Code von diesem Programm:

package Lektion_7;

import java.lang.reflect.Array;
import java.util.Scanner;

public class B_SprachenSpiel {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Bitte geben Sie ein Wort für das B-Sprachen Spiel ein: ");
    String B = sc.nextLine();
    Spiel(B);

    // System.out.println("Das umgewandelte Wort lautet: " + Spiel(B));
  }

  public static void Spiel(String Wort) {
    char[] x = new char [100];
    x = Wort.toCharArray();
    System.out.println(x.length);
    int y = x.length;
    int lang = x.length;

    for (int i = 0; i < y; i++) {
      if (x[i] == 'a' || x[i] == 'e' || x[i] == 'i' || x[i] == 'o' || x[i] == 'u') {
        lang += 2;
      }
    }

    System.out.println(lang);
    char[] neu = new char[lang];

    for (int i = 0; i <= neu.length; i++) {
      if (neu[i] == 'a' || neu[i] == 'e' || neu[i] == 'i' || neu[i] == 'o' || neu[i] == 'u') {
        neu[i] = (char) (x[i] + 'b' + (char) x[i]);
      }
    }

    String z = x.toString();
    System.out.println("                         Das umgewandelte Wort lautet: " + String.valueOf(neu));
    // for (int i = 0; i <= x.length; i++)
    //		{
    //			System.out.print(x[i]);
    //		}
  }
}
Computer, programmieren, Java, Array, Informatik

PQ-Formel mit Eclipse?

Hallo,

ich hab versucht eine PQ-Formel zu erstellen:

        static final double pqFormeln(double a, double p, double q, boolean art) 
        {
                try 
                {
                  p/=a; q/=a;
                } catch (ArithmeticException e) 
                {
                  p/=-2;
                }
                double r = sqrt(p*p-q);
                if (isNaN(r))
                        throw new ArithmeticException("Keine reele Zahl. Lösung des "+(art?'+':'-')+" x Bereiches nicht möglich.");
                return art?p+r:p-r;
        }
        
        private static boolean isNaN(double r)
        {
                
                return false;
        }

        private static double sqrt(double d) 
           {
                return 0;
        }


}

Allerdings kann ich kein Java run machen. Meine Aufgabe lautet:

Wir wollen ein Programm schreiben, das die Nullstellen von quadratischen Funktionen der Form f(x) = x 2 + px + q berechnet. Die aus der Mathematik bekannte pq-Formel liefert uns die Nullstellen: x1,2 = − p 2 ± r p 2 4 − q Wenn der Term unter der Wurzel negativ ist, hat die Funktion keine (reelle) Nullstelle; ist er gleich 0, so gibt es genau eine Nullstelle. Schreiben Sie ein Programm PQ , welches p und q als Parameter ubergeben bekommt, die ¨ Nullstellen berechnet und ausgibt; geben Sie dabei zuerst die kleinere Nullstelle aus. Geben Sie anschließend aus, wie viele Nullstellen es gibt (Ausgabe nach dem Schema ” Es gibt 2 Nullstellen.“). Falls nicht genau 2 Argumente beim Programmaufruf angegeben werden, soll eine beliebige Fehlermeldung ausgegeben werden, die mit ERROR beginnt. 

Kann mir jemand hier helfen?

Computer, Studium, Schule, Mathematik, Java, Informatik, pq-Formel

Meistgelesene Beiträge zum Thema Java