猿问

一个关于数组的问题

我想创建一个程序:用户输入一个值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;
	}
	
	
}

谁能帮我修改一下,谢谢!

半度幽殇
浏览 1480回答 3
3回答

1994我

你的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]什么的
随时随地看视频慕课网APP

相关分类

Java
我要回答