Irgendein billiger Fehler aber ich find ihn nicht

Piotre19910

Aktives Mitglied
Hallo leute normaler weise hat man sich vertippt wenn der fehler kommt: cannot find symbol aber hier ist echt keiner kann einer helfen?
Java:
import java.util.Scanner;

class StringMix
{
        public static void main(String[] args)
        {
            Scanner scanner = new Scanner(System.in);
           
            System.out.print("Erster String: " );
            String eingabe1 = scanner.next();
            System.out.print("Zweiter String: ");
            String eingabe2 = scanner.next();
           
               // char convertion
           char[] tocharEingabe1 = eingabe1.toCharArray();
           char[] tocharEingabe2 = eingabe2.toCharArray();
          
       
                      
                   
                            for(int i = 0; i < eingabe1.length(); i++)
                            {
                                System.out.print(  tocharEingabe1.charAt(i)  ); // hier beim punkt cannot find symbol
                               
                                        for(int b = 0; i < eingabe2.length(); b++) // genauso hier
                                        {
                                            System.out.print( tocharEingabe2.charAt(b) );
                                        }
                               
                               
                            }
                          
           
           
        } //public
}    //class

habs 3 mal durchgschaut irgendwie steh ich am schlauch
 
tocharEingabe1 ist ein char[], und Arrays haben keine charAt(i)-Methode.

In den for-schleifen kannst du entweder mit den vorher erstellen Arrays arbeiten, oder einfach direkt mit den Strings, mischen ist da aber eher suboptimal.
 
Jetzt hab ich es so gemacht : und er zeigt an Array.index,bound.out.ofexception:8

Java:
import java.util.Scanner;

class StringMix
{
        public static void main(String[] args)
        {
            Scanner scanner = new Scanner(System.in);
           
            System.out.print("Erster String: " );
            String eingabe1 = scanner.next();
            System.out.print("Zweiter String: ");
            String eingabe2 = scanner.next();
           
               // char convertion
           char[] tocharEingabe1 = eingabe1.toCharArray();
           char[] tocharEingabe2 = eingabe2.toCharArray();
          
       
                      
                   
                            for(int i = 0; i <= eingabe1.length(); i++)
                            {
                                System.out.print(  tocharEingabe1[i]  );
                               
                                        for(int b = 0; i <= eingabe2.length(); b++)
                                        {
                                            System.out.print( tocharEingabe2[b] );
                                        }
                               
                               
                            }
                          
           
           
        } //public
}    //class
 
kanst du mir helfen es zum laufen zu bringen? das programm soll strings mischen also aus hallo und peter soll hpae... rauskommen also abwechselnd einen char vom jeweils anderen. ich glaub der algorhytmus stimmt oda?
 
Der Fehler liegt bei'm <= in den for-schleifen, damit triffst du die Länge, dein Array beginnt aber bei index 0, endet also mit index Länge-1.

Siehe außerdem mein Hinweis oben, entweder die Arrays, oder die String benutzen 😉
 
Danke für eure mühe.
Java:
import java.util.Scanner;

class StringMix
{
        public static void main(String[] args)
        {
            Scanner scanner = new Scanner(System.in);
           
            System.out.print("Erster String: " );
            String eingabe1 = scanner.next();
            System.out.print("Zweiter String: ");
            String eingabe2 = scanner.next();
           
               // char convertion
           char[] tocharEingabe1 = eingabe1.toCharArray();
           char[] tocharEingabe2 = eingabe2.toCharArray();
          
           int länge = eingabe1.length();
           int länge2= eingabe2.length();
          
       
                      
                   
                                for(int i = 0; i < länge; i++)
                            {
                                System.out.print(  tocharEingabe1[i]  );
                              
                                        for(int b = 0; i < länge2; b++)
                                        {
                                            System.out.print( tocharEingabe2[b] );
                                        }
                              
                              
                            }
           
           
        } //public
}    //class
 
ah hab nen logik fehler drinnen, muss natürlich b< länge2 sein. Danke
Schade das es hier keinen bedanken button gibt solltet ihr einführen ^^
vielen dank coole seite hier
 

Zurück
Oben