• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czemu program komiluje się bez błędu,ale i tak wywala?

0 głosów
241 wizyt
pytanie zadane 21 sierpnia 2015 w Java przez uczeń1998 Obywatel (1,930 p.)
///Program się kompiluje ale wywala błąd :/// powie ktoś i wytłumaczy co robię 
///źle?

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class NewClass { 
    public static void main(String[] args){

        int[] tablica = new int[10];
        int suma=0;
        Random generator = new Random();
        int min = tablica[0];
        int liczbawiekszych=0;
        int liczbamniejszych=0;
        int max = tablica[0];
        for(int i=0; i<tablica.length; i++){
            tablica[i]=generator.nextInt(20)-10;
            if(min>tablica[i]) min=tablica[i];
            if(max<tablica[i]) max=tablica[i];
            suma+=tablica[i];
            i++;
        }
        int srednia = suma/tablica.length;
        System.out.println(Arrays.toString(tablica));
        System.out.println(min+"  "+max);
        System.out.println(srednia);
        for(int i=tablica.length; i>0; i--){
            if(tablica[i]>srednia){
                liczbawiekszych++;
            }
                        if(tablica[i]<srednia){
                liczbamniejszych++;
            }
            
            
        }
        System.out.println("Wiekszych niz srednia"+liczbawiekszych);
        System.out.println("Mniejszych niz srednia"+liczbamniejszych);
        
       }
    }

 

2 odpowiedzi

+2 głosów
odpowiedź 21 sierpnia 2015 przez Dorion300 Szeryf (90,250 p.)
wybrane 21 sierpnia 2015 przez uczeń1998
 
Najlepsza

i++;?

Wywal to, w for jest on niepotrzebny (23linijka)

int min = tablica[0];?

tablica jest jeszcze "pusta".

A w drugim for, powinno być  "(int i=tablica.length-1; i>0; i--)"

Zmienilem na szybko i działa:

http://wklej.org/hash/d204a36920b/

komentarz 21 sierpnia 2015 przez uczeń1998 Obywatel (1,930 p.)
Dzięki ;D zapomniałem o tym kompletnie,że to jest poza tablicą bo numeracja jest od 0.
+1 głos
odpowiedź 21 sierpnia 2015 przez Szykem2 Nałogowiec (29,510 p.)
Z tego co mi się wydaje to wyjeżdżasz poza tablice linika 29 zmień na for(int i=tablica.length - 1; i>0; i--){
komentarz 21 sierpnia 2015 przez Pascal Bywalec (2,720 p.)

masz racje po odpaleniu wywala mu zapewnie takie coś

 

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
    at helping.NewClass.main(NewClass.java:42)
Java Result: 1

 

komentarz 21 sierpnia 2015 przez SkymaxPlay Użytkownik (720 p.)
podaj kod z linijki 42

Podobne pytania

0 głosów
1 odpowiedź 156 wizyt
pytanie zadane 5 listopada 2018 w Java przez Marcin Skarżyński Użytkownik (540 p.)
0 głosów
0 odpowiedzi 156 wizyt
pytanie zadane 4 września 2017 w Java przez Hiskiel Pasjonat (22,830 p.)
+1 głos
3 odpowiedzi 296 wizyt
pytanie zadane 26 sierpnia 2015 w C i C++ przez Int_main Bywalec (2,850 p.)

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

62,787 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...