我想创建一个程序:用户输入一个值i,计算机找出0-i之间所有的偶数并且保存在数组num中,可是我的代码出问题了,eclipse未报错但是实现不了这个功能,并且编译也出错。还有for里面的代码可以修改成员变量吧?代码1:
import java.util.Scanner;
public class A {
public static void main(String[] args){
//对象实例化
A aa=new A();
int i=aa.getNum();//即用户输入的值储存在i中
//定义一个整型数组num,初始化为0
int[] num={0};
//数组下标初始化
int t=0;
//从j=0至j=i找出所有的偶数
for(int j=0;j<=i;j++){
if(j%2==0){
//为数组赋值
j=num[t];
t++;//t自增1为下一次赋值
}
}
//遍历数组并输出
for(int x:num){
System.out.println(x);
}
}
//获取用户输入的数字
public int getNum(){
System.out.println("请输入一个整数:");
Scanner s=new Scanner(System.in);
int y=s.nextInt();
return y;
}
}我把数组下标初始化放入for中的if内,不显示错误,但输入数字后没反应。代码2:
import java.util.Scanner;
public class A {
public static void main(String[] args){
A aa=new A();
int i=aa.getNum();//即用户输入的值储存在i中
//定义一个整型数组num,初始化为0
int[] num={0};
//从j=0至j=i找出所有的偶数
for(int j=0;j<=i;j++){
if(j%2==0){
//数组下标初始化**************************放这了
int t=0;
//为数组赋值
j=num[t];
t++;//t自增1为下一次赋值
}
}
//遍历数组并输出
for(int x:num){
System.out.println(x);
}
}
//获取用户输入的数字
public int getNum(){
System.out.println("请输入一个整数:");
Scanner s=new Scanner(System.in);
int y=s.nextInt();
return y;
}
}谁能帮我修改一下,谢谢!
3 回答
1994我
TA贡献3条经验 获得超1个赞
你的num数组已经初始化了, int[] num={0};它的容量为1,只有一个元素,
for(int j=0;j<=i;j++){
if(j%2==0){
//数组下标初始化**************************放这了
int t=0;
//为数组赋值
j=num[t];
t++;//t自增1为下一次赋值
}
这段代码你想把偶数加进去,就必须扩大数组的容量,而你根本就没做,编译器肯定报错了,是数组越界,你最好一开始就把数组设计的足够大,num[100]什么的
添加回答
举报
0/150
提交
取消