2016-12-06 2 views
-1

Я хочу, чтобы пользователь вводил n номеров своего желания и записывал программу в java, чтобы найти среднее значение с использованием массивов. Я придумал следующую программу, но, как представляется, проблема, когда я запустить его: Exception in thread "main" java.lang.NullPointerException at wert.main(wert.java:12)Почему я получаю NullPointerException при добавлении элементов в массив?

Это код в вопросе:

import java.util.Scanner; 
public class wert { 

public static void main(String[] args) { 
    Scanner sc = new Scanner(System.in); 
    int gucci[] = null; 
    System.out.print("Enter the length\n"); 
    int n = sc.nextInt(); 
    System.out.println("enter the numbers : "); 
    for(int i=0;i<n;i++){ 

     int k = sc.nextInt(); 
     gucci[i] = k; 
     } 
    int m = average(gucci); 
    System.out.println(m/n); 

} 
    public static int average(int x[]){ 
     int total = 0; 
     for(int f: x){ 
      total =+ f; 
     } 
     return total; 
    } 
} 

Я извиняюсь, если я прошу действительно основной вопрос. Я начал изучать Java самостоятельно несколько дней назад.

+1

и проблема есть ...? – Mritunjay

+0

@Mritunjay Я отредактировал –

+4

здесь ваш массив не инициализирован 'gucci [] = null', вместо этого использует ArrayList, я думаю, мы не можем переопределить размер массива после инициализации –

ответ

3

Это проблема

int gucci[] = null; 

Поскольку массив является null присвоение терпит неудачу с NullPointerException.

Изменить эту часть

int gucci[] = null; 
System.out.print("Enter the length\n"); 
int n = sc.nextInt(); 

в

System.out.print("Enter the length\n"); 
int n = sc.nextInt(); 
int[] gucci = new int[n]; 

Это создаст массив длины вы вводите.

Другая проблема здесь

total =+ f; 

Если вы хотите добавить total = total+f это должно быть, как показано ниже.

total += f; 
+0

Есть ли проблемы с моей логикой в ​​программе? Я просто запустил ее, и я не получаю среднее значение. –

+0

никогда, я его сортировал. Я набрал = + вместо + =. спасибо alot @Mritunjay –

Смежные вопросы