Java随即生成10个1-100之间的数放到数组中,要求这个10个数是不能重复的偶数,把这十个数打印出来?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java随即生成10个1-100之间的数放到数组中,要求这个10个数是不能重复的偶数,把这十个数打印出来?相关的知识,希望对你有一定的参考价值。

第一步在1-100之前产生随机数,调用随机数函数就行
第二步,生成第一个随机数判断是否是偶数,被2除余数为0就行,这里做个判断,如果是那么存入数组
第三步在来进行第二个随机数生成,判断是否偶数,然后再判断是否在数组中可以用逐一比较的方法
参考技术A import java.util.Random;public class EvenNumber private static int[] getRandom(int num)int[] n = null;Random r = new Random();if(num>0)n = new int[num];for(int i=0;i<num;i++)n[i] = r.nextInt(99)+1;return n;private static void printArray(int[] n)for(int i=0;i<n.length;i++)System.out.print(n[i]+" ");private static int countEven(int[] n)int count=0;for(int i=0;i<n.length;i++)if(n[i]%2==0) count++;return count;public static void main(String[] args) int[] n = getRandom(10);System.out.print("生成的数组:");printArray(n);System.out.print("\n偶数个数为:"+countEven(n)); 参考技术B

    先定义一个大小为10的数组,

    无限循环里面产生随机数,1

    判断是否是偶数

    判断是否重复,依次和数组中的值比较,到0时break

    数组中的10个位置都被随机偶数替换后break退出无限循环

    打印出数组里的值

3.键盘输入10个数,放到数组中,去除该数组中大于10的数 将该数组中的数字写入到本地文件number.txt中

package cn.it.text;

import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/*
 * 3.键盘输入10个数,放到数组中
    (1)去除该数组中大于10的数
    (2)将该数组中的数字写入到本地文件number.txt中
 */
public class Test3 {
    public static int[] arr = new int[10];

    public static void main(String[] args) throws IOException {
        getNum();

        delNum();

    }

    // 输入数据
    // 获取键盘输入的10个数,并把数放入数组中
    public static void getNum() {
        while (true) {
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入10个数,以空格隔开:");
            String str = scan.nextLine();
            String[] strArr = str.split(" +");

            if (strArr.length > 10) {
                System.out.println("你输入的数字太多!请重新输入:");
                continue;
            } else if (strArr.length < 10) {
                System.out.println("你输入的数字太少!请重新输入");
                continue;
            } else {
                for (int i = 0; i < strArr.length; i++) {
                    arr[i] = Integer.parseInt(strArr[i]);

                }
//                for(int i=0;i<arr.length;i++) {
//                System.out.print(arr[i]);}
                break;
            }
        }
    }

    // 除去该数组中大于10的数
    public static void delNum() throws IOException {
        StringBuffer str = new StringBuffer();
        String s="";
        
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > 10) {
                continue;
            } else {
                str.append(arr[i]);
            }
        }
        
        //将可变字符串转换为字符串
        for (int i = 0; i < str.length(); i++) {
            
            s+=str.charAt(i)+" ";
        }
        
        //把字符串转换成字符串数组
        String[] ss =s.split(" ");
        int len=ss.length;
        int[] num=new int[len];
        
        //把字符串数组中的每一项转换为int类型,并添加到数组中
        for(int i=0;i<ss.length;i++) {
            num[i]=Integer.parseInt(ss[i]);
            
        }
        
        //输出数组,判断是否正确
        for(int i=0;i<num.length;i++) {
            System.out.println(num[i]);
        }
        
        print(num);
    }
    
    //将数组中数写入本地文件中
    public static void print(int [] arr) throws IOException {
        //创建一个字符输入流对象
        FileWriter out=new FileWriter("number.txt");
        
        out.write(arr.toString());
        
        //关闭输出流
        if(out !=null) {
            out.close();
        }
    }
}

 

以上是关于Java随即生成10个1-100之间的数放到数组中,要求这个10个数是不能重复的偶数,把这十个数打印出来?的主要内容,如果未能解决你的问题,请参考以下文章

随机生成【1,100】之间的10个整数存放在数组中。

数组练习

随机生成 10 个不重复的数组成数组

集合练习_2

C# 如何生成不重复的1-100随机数。

4.产生10个1-100的随机数,并放到一个数组中 把数组中大于等于10的数字放到一个list集合中,并打印到控制台。 把数组中的数字放到当前文件夹的numArr.txt文件中