如果我们列出10以下的所有自然数是3或5的倍数,我们得到3,5,6和9.这些倍数的总和是23.求下面3或5的所有倍数的总和1000。
因此它在arr[i] = i;
处给出了空指针异常。我是Java编程的新手,所以我想尝试数组
public class Multiples
{
private int arr[];
private int sum = 0;
public void multiples1()
{
for(int i= 0 ; i <= 1000; i++)
{
arr[i] = i ;
if((i%3 == 0 && i%5==0))
{
sum = sum + arr[i];
}
}
System.out.println(sum);
}
}
答案 0 :(得分:4)
private int arr[] = new int[arraySize];
Object
,因此如果您不使用new int[size]
对其进行初始化,则为null
。null
的参考变量的操作,您将面临NullPointerException
您的修改后的代码将是:
public class Multiples
{
private int arr[] = new int[1000];
private int sum = 0;
public void multiples1()
{
for(int i= 0 ; i < 1000; i++)
{
arr[i] = i ;
if((i%3 == 0 && i%5==0))
{
sum = sum + arr[i];
}
}
System.out.println(sum);
}
}
答案 1 :(得分:1)
以下代码段可以实现您想要实现的目标。
public class Multiples
{
private int arr[] = new int[1001];
private int sum = 0;
public void multiples1()
{
for(int i= 0 ; i <= 1000; i++)
{
arr[i] = i ;
if((i%3 == 0 && i%5==0))
{
sum = sum + arr[i];
}
}
System.out.println(sum);
}
}