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个数是不能重复的偶数,把这十个数打印出来?的主要内容,如果未能解决你的问题,请参考以下文章
4.产生10个1-100的随机数,并放到一个数组中 把数组中大于等于10的数字放到一个list集合中,并打印到控制台。 把数组中的数字放到当前文件夹的numArr.txt文件中