java第四天 做了几个有意思的题目欢迎锐评1输入数组看是否有序2随即双色球六红一蓝红不重复3数组去重去零 4输出一副扑克牌 5 人人都要见面的杨辉三角package Work; //判断一个数组是否有序 import java.util.Scanner; public class Task0 { public static void main(String[] args) { //此处使用csdn上查寻的输入数组方式 System.out.println(请输入相对应得数); Scanner sc new Scanner(System.in); String str sc.next().toString(); String[] arr str.split(,); int[] b new int[arr.length]; for(int j 0; jb.length;j) { b[j] Integer.parseInt(arr[j]); //System.out.println(b[j] ); } boolean m false; for(int j 0; jb.length-1;j) { if(b[j]b[j1]) { m true; break; } } if(m) { System.out.println(无需数组); }else{ System.out.println(有序数组); } } }package Work; //2、根据双色球摇奖规则产生6个红球1个蓝球红球范围1-33蓝球范围1-16.红球不能有重复的产生。 public class Task1 { public static void main(String[] args) { int [] red new int[33];//红球范围1-33,多一位防止溢值 int [] blue new int[17]; for (int i 1; i red.length; i) { red[i] i; //System.out.println(red[i]); } for (int i 1; i blue.length; i) { blue[i] i; } int b (int)(Math.random() * blue.length);//蓝色只有一个先做蓝色 System.out.print(这是蓝色球); System.out.println(blue[b]);//也可以直接输出b不过还是想多用数组 int [] z new int[6];//中间数组,用来存放red取得的数字下标 System.out.print(这是红球); for (int i 0; i 6; i) {//取六次值不相等就可以 z [i](int) Math.random()*33; for (int j 0; j 6;j) {//判断数组里面是否相等 if(z[i] z[j]) { z[i] (int) (Math.random() * 33); } } System.out.print(red[z[i]]\t); } } }package Work; import java.util.Scanner; //数组去重 public class Task2 { public static void main(String[] args) { //csdn此处数组使用的是String的[]arr转化为Int 的b[] System.out.println(请输入相对应得数); Scanner sc new Scanner(System.in); String str sc.next().toString(); String[] arr str.split(,); int[] b new int[arr.length]; for(int j 0; jb.length;j) { b[j] Integer.parseInt(arr[j]); } //数组去重重新建立一个数组里面存放不重复的即筛选的方法用m进行标签 int [] z new int[b.length];//布尔类型数组没有默认值试过了 boolean []m new boolean[b.length]; for(int j 0; jb.length;j) {//给所有布尔赋值 m [j]false; } for(int j 0; jb.length;j) { for (int i j1; i b.length; i) { if(b[i]b[j]i!j) { m[i]true;//对标签true的进行杀死此处保留了i删除了j } } if(!m[j]){ z[j]b[j]; } } for(int j 0; jb.length;j) { if(z[j] 0){ for(int k j; kb.length; k) { if(z[k]!0){ z[j]z[k]; z[k]0; } } } //System.out.print(z[j]\t); } //把z数组进行去零依旧使用第三方数组 int p 0; for(int j 0; jz.length;j) { if(z[j]0){ p j; break; } } int [] a new int[p]; for(int j 0; jp;j) { a[j] z[j]; System.out.print(a[j]\t); } } }package Work; //使用二维数组生成一副扑克牌(除去大王、小王) public class Task3 { public static void main(String[] args) { int [][]z new int[4][13]; for (int i 0; i z.length; i) { for (int j 1; j 11; j) { z[i][j - 1] j; System.out.print(z[i][j - 1] \t); } for (int j 10; j 14; j) { switch (j 1) { case 11: System.out.print(J\t); break; case 12: System.out.print(Q\t); break; case 13: System.out.print(K\t); break; } } System.out.println(); } } }package Work; //使用二维数组打印杨辉三角形 // 1) 第1行有1个元素第n行有n个元素 // 2) 每一行的第1个元素和最后一个元素都是1 // 3) 从第三行开始对于非第一个元素和最后一个元素的值都有如下算法 // X[i][j]x[i-1][j-1]x[i-1][j]; import java.util.Scanner; public class Task4 { public static void main(String[] args) { System.out.println(请输入生成的长度); Scanner sc new Scanner(System.in); int a sc.nextInt(); int[][] x new int[a][a];//[[I4eec7777 int初始值 //先给整个数组初始化 for (int i 0; i a; i) { for (int j 0; j a; j) { x[i][j] 0; //System.out.print(x[i][j] ); } //System.out.println(); } //对第1,2行赋值使整体满足函数条件 x[0][0] 1; x[1][0] 1;x[1][1] 1; for (int i 2; i x.length; i) { for (int j 0; j x[i].length; j) { if(j 0i!1){ x[i][j] 1; }else{ x[i][j]x[i-1][j-1]x[i-1][j]; } } } for (int i 0; i x.length; i) { for (int j 0; j x[i].length; j) { System.out.print(x[i][j] ); } System.out.println(); } } }