Goomba Opublikowano 25 Marca 2014 Zgłoś Opublikowano 25 Marca 2014 Mam taki kod: import java.util.*;public class Circle { private double radius; public Circle() { this(1.0); } public Circle(double r) { this(r, "m"); } public Circle(double r, String u) { radius = r; if(u.equals("km")) { radius = radius * 1000; } } public void setRadius(double r) { radius = r; } public double getRadius() { return radius; } /** * Oblicza obwód koła * @return */ public double calculateCircumference() { return 2 * Math.PI * radius; } /** * Oblicza pole koła * @return */ public double calculateArea() { return Math.PI * radius * radius; } public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Podajliczbę obektów: "); int count = input.nextInt() - 1; Circle[] circles = new Circle[count]; for (int i=0; i <= count; i++) { System.out.println("Podaj promien koła nr. " + (i + 1) + ": "); circles[i] = new Circle(input.nextDouble()); } for (Circle c:circles) { System.out.println("Obwód koła to: " + c.calculateCircumference()); System.out.println("Pole koła to: " + c.calculateArea()); } }} Dostaje błąd: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at circle.Circle.main(Circle.java:65)Java Result: 1 Mógłby ktoś mi wytłumaczyć dlaczego i gdzie jest błąd? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MaciekCi Opublikowano 25 Marca 2014 Zgłoś Opublikowano 25 Marca 2014 Dlatego, że "for (int i=0; i <= count; i++)" odwołuje się do elementu, który nie istnieje. Tak wygląda działający main : public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Podajliczbę obektów: "); int count = input.nextInt(); Circle[] circles = new Circle[count]; for (int i=0; i < count; i++) { System.out.println("Podaj promien koła nr. " + (i + 1) + ": "); circles[i] = new Circle(input.nextDouble()); } 1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Goomba Opublikowano 25 Marca 2014 Zgłoś Opublikowano 25 Marca 2014 Dzięki. :D Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...