A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

伯纳乌

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

声明一个长度为8的数组arr, 要求用户循环输入8个整数, 只将能被3整除同时也能被4整除的数字存进数组arr中, 其他不存储, 最后遍历整个arr数组

3 个回复

倒序浏览
你是用键盘录入8个数,数组的长度为8,满足条件的存进去,不满足条件的不存,这样的话,没有被赋值的数就都是默认值为零了,判断条件的时候用双与判断就好了&&
回复 使用道具 举报
public class Text1 {
        public static void main(String[] args) {
                //定义一个长度为8的数组
                int[]arr=new int [8];
                //创建键盘录入对象
                Scanner sc=new Scanner(System.in);
                for (int i = 0; i < arr.length; i++) {
                        System.out.println("请输入一个数");
                        int num=sc.nextInt();
                        //判断是否能被3整除同时也能被4整除
                        if(num%3==0&&num%4==0){
                                arr[i]=num;
                        }
                }
                //遍历数组
                for (int i = 0; i < arr.length; i++) {
                        System.out.println(arr[i]);
                }
        }

}
按照你的意思是这样
回复 使用道具 举报 1 0
本帖最后由 火小枪 于 2017-8-14 19:35 编辑

我的代码,把可以存入的整数放到数组前面,不会出现跳着存放情况。
[Java] 纯文本查看 复制代码
import java.util.Arrays;
import java.util.Scanner;

/*
 * 声明一个长度为8的数组arr, 要求用户循环输入8个整数, 只将能被3整除同时也能被4整除
 * 的数字存进数组arr中, 其他不存储, 最后遍历整个arr数组
 **/
public class ArrayDemo {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[8];
		System.out.println("请输入8个整数:");
		int len = 8;
		for (int i = 0; i < len; i++) {
			int num = Integer.parseInt(sc.nextLine());
			if (num % 3 == 0 && num % 4 == 0) {
				arr[i] = num;
			} else {
				i--;
				len--;
			}
		}
		// 遍历输出
		System.out.println(Arrays.toString(arr));
	}

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马