package com.wb.homework;
import java.util.Arrays;
/**
* 2、定义两个数组,使用循环将2~100之间的质数和合数存储到不同的数组中
*
* @author 吴小斌
*
*/
public class Homework_02 {
public static void main(String[] args) {
int count = 0;
for (int i = 2; i < 100; i++) {
boolean flag = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = false;
}
}
if (flag) {
count++;//拿到质数的个数
}
}
int[] array = new int[count];//这里就知道放质数的数组的长度了
int[] array01=new int[98-count];//和数的数组长度就是总长度减去质数数组的长度
int index=0;//这里代表质数数组的下标
int index01=0;//这里代表和数数组的下标
/*
* 再遍历一次所有质数,将质数的值赋给前一个数组,和数赋值给另一个数组
*/
for (int i = 2; i < 100; i++) {
boolean flag = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = false;
break;
}
}
if (flag) {
array[index]=i;
index++;
}else {
array01[index01]=i;
index01++;
}
}
System.out.println(Arrays.toString(array));
System.out.println(Arrays.toString(array01));
}
}
这个题一直卡在那个index下标记那个地方,一直想给新数组赋值,就想着用循环做,最后忘记还可以这样写了,先定义一个index代表数组下标,然后赋值给他之后数组下标自增就行了。题做多了人都傻了