请各位仁兄指教,我这程序错在哪了?/**
*获取50个0至300之间的随机整数,并输出到屏幕上;
*取出上面50个整数中的偶数,倒序排列输出到屏幕上。
*
**/import java.util.*;
import java.util.Arrays;
public class Demo5{
public static void main(String[] args){
Random r = new Random();
int[] num = new int[50];
int count = 1;
for(int i=0; i<num.length; i++){
while(count<=50){
num[i] = r.nextInt(300);
System.out.print(num[i]);
System.out.print(" ");
count++;
}
}
System.out.println();
System.out.println("--------------------");
//排序并输出该数组
Arrays.sort(num);
for(int i=0; i<num.length; i++){
System.out.print(num[i]);
System.out.print(" ");
}
System.out.println();
System.out.println("--------------------");
//倒序输出数组中的偶数
for(int i=num.length-1; i>=0; i--){
if(num[i]%2 == 0){
System.out.print(num[i]);
System.out.print(" ");
}
}
}
}
*获取50个0至300之间的随机整数,并输出到屏幕上;
*取出上面50个整数中的偶数,倒序排列输出到屏幕上。
*
**/import java.util.*;
import java.util.Arrays;
public class Demo5{
public static void main(String[] args){
Random r = new Random();
int[] num = new int[50];
int count = 1;
for(int i=0; i<num.length; i++){
while(count<=50){
num[i] = r.nextInt(300);
System.out.print(num[i]);
System.out.print(" ");
count++;
}
}
System.out.println();
System.out.println("--------------------");
//排序并输出该数组
Arrays.sort(num);
for(int i=0; i<num.length; i++){
System.out.print(num[i]);
System.out.print(" ");
}
System.out.println();
System.out.println("--------------------");
//倒序输出数组中的偶数
for(int i=num.length-1; i>=0; i--){
if(num[i]%2 == 0){
System.out.print(num[i]);
System.out.print(" ");
}
}
}
}
2.跳出while,进入第二次for循环,结果for一直在空循环,因为此时count已经等于51,while循环无法运行;
3.结果就是:num[0]=52,其他均为默认值0;
4.楼主只要将while循环去掉就ok了!
while(count<=50){
num[i] = r.nextInt(300);
System.out.print(num[i]);
System.out.print(" ");
count++;
}
你这地方有问题,你这个while循环从count=1到count=50时,i始终等于0,也就是说你根本没给num[1]到num[49]赋值
改成:import java.util.*;
import java.util.Arrays;
public class Demo5{
public static void main(String[] args){
Random r = new Random();
int[] num = new int[50];
for(int i=0; i<num.length; i++){
num[i] = r.nextInt(300);
System.out.print(num[i]);
System.out.print(" ");
}
System.out.println();
System.out.println("--------------------");
//排序并输出该数组
Arrays.sort(num);
for(int i=0; i<num.length; i++){
System.out.print(num[i]);
System.out.print(" ");
}
System.out.println();
System.out.println("--------------------");
//倒序输出数组中的偶数
for(int i=num.length-1; i>=0; i--){
if(num[i]%2 == 0){
System.out.print(num[i]);
System.out.print(" ");
}
}
}
}
import java.util.*;
import java.util.Arrays;public class Demo5 {
public static void main(String[] args) {
Random r = new Random();
int[] num = new int[50];
int count = 1;
for (int i = 0; i < num.length; i++) {
/*
* 这个while循环是多余的,去掉就好了!
*/
// while(count<=50){
num[i] = r.nextInt(300);
System.out.print(num[i]);
System.out.print(" ");
// count++;
// }
} System.out.println();
System.out.println("--------------------"); // 排序并输出该数组
Arrays.sort(num);
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]);
System.out.print(" ");
} System.out.println();
System.out.println("--------------------"); // 倒序输出数组中的偶数
for (int i = num.length - 1; i >= 0; i--) {
if (num[i] % 2 == 0) {
System.out.print(num[i]);
System.out.print(" ");
}
}
}
}
去掉那个while循环就行了