Java float einlesen

thehasso

Erfahrenes Mitglied
Hallo zusammen,

Ich hatte bis eben 2 Probleme erstmal wie man in Java zahlen einliest und 2.ens diese wieder auszugeben. Nun Problem 1 konnte ich mittels googlen lösen. Problem 2 lässt sich nicht lösen...sprich noch nicht...Das ausgeben habe ich genau so gemacht wie ich das von C und C++ kenne Ich versteh nicht weshalb das in Java nicht auch so funktioniert. Jemand ein tipp ?


Komisch jedoch ist das der Komentierte array sich mittels forscheife ausgeben lässt, d.h das muss irgendwas mit der Eingabe zu tun haben.

Code:
			int i = 0;
			int []a = new int[3];
			//int [] a = {1,2,3,4};
			
			Scanner sc = new Scanner (System.in);
			
			for(i = 0; i <= a.length; i++){
				System.out.println("Geben Sie ein Zahl ein");
				a[i] = sc.nextInt();
			}
					
			
			for(i = 0; i <= a.length; i++){
			System.out.println(a[i]);
			}


Danke im vorraus =)
 
Hallo thehasso,

vielleicht möchtest du deinen Quellcode posten? Ich kann dein Problem nicht nachvollziehen

Viele Grüße
 
komisch hab den geposted:

hier nochmal
PHP:
			int i = 0;
			int []a = new int[3];
			//int [] a = {1,2,3,4};
			
			Scanner sc = new Scanner (System.in);
			
			for(i = 0; i <= a.length; i++){
				System.out.println("Geben Sie ein Zahl ein");
				a[i] = sc.nextInt();
			}
					
			
			for(i = 0; i <= a.length; i++){
			System.out.println(a[i]);
			}
 
Hallo,

achso das ist dein Code?! Hab ich nicht richtig realisiert, da du was von float einlesen geschrieben hast.

Es liegt wohl daran das du <= gemacht hast, wenn du das = weglässt müsste es funktionieren. Hast eigentlich eine IndexOutOfBound Exception bekommen, oder?

Viele Grüße
 
Die length-Methode zählt die Dimension des Arrays und startet bei 1. Die Indizierung jedoch bei 0. Dem entsprechend gehst du bei der Variante mit dem Index 4 ( = a.length) aus dem Array (ArrayIndexOutOfBounds).
Java:
               for(i = 0; i < a.length; i++){ 
			System.out.println("Geben Sie ein Zahl ein"); 
			a[i] = sc.nextInt(); 
		} 


		for(i = 0; i < a.length; i++)
			System.out.println(a[i]);
 
Zurück