1,模拟在一副牌中,抽取第1张,第5张,第50张扑克牌。
/**
*模拟在一副牌中,抽取第1张,第5张,第50张扑克牌。
*/
public class Test03 {public static void main(String[] args) {
String[] str = new String[62];
String[] str1 = {"黑桃", "红桃", "梅花", "方片"};
String[] str2 = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", };
int count = 0;
for (int i = 0;
i < str1.length;
i++) {
for (int j = 0;
j < str2.length;
j++) {
str[count] = str1[i]+str2[j] ;
count++;
System.out.print(count + " ");
}
}
System.out.println(str[0] + " " + str[4] + " " + str[49]);
}}
2,复制数组元素进入新数组,在数组的指定下标插入数据,后面的数字依次移动
/**
* 复制数组元素进入新数组
* 在数组的指定下标插入数据,后面的数字依次移动
*/
public class TestArrMove {public static void main(String[] args) {
int[] arrs = {0, 1, 2, 3, 4};
Scanner input = new Scanner(System.in);
System.out.println("输入要插入的数字");
int num = input.nextInt();
System.out.println("输入要插入的数组下标");
int index = input.nextInt();
int[] newArrs = new int[arrs.length + 1];
//复制数组元素进入新数组
for (int i = 0;
i < arrs.length;
i++) {
newArrs[i] = arrs[i];
}
//依次后移
for (int i = newArrs.length - 1;
i > index;
i--){
newArrs[i] = newArrs[i - 1];
}
//把从键盘读取的数字,插入到指定索引的位置
newArrs[index] = num;
//遍历新数组
for (int i = 0;
i < newArrs.length;
i++) {
System.out.print(newArrs[i]);
}
}}
3,统计字符 【JavaSE|一维数组练习】字符数组:{'a','l','f','m','f','o','b','b','s','n'},统计每个字符出现的次数并打印到控制台。
开发提示:将数字强制转换,根据ASCII码表转换为字符。可以定义长度26的数组,每个元素,对应去保存每种字符的出现次数,比如0索引保存a的次数,1索引保存b的次数,以此类推。
public class Test04 {public static void main(String[] args) {
char[] chars = {'a','l','f','m','f','o','b','b','s','n'};
int[] arr = new int[26];
for (int i = 0;
i < chars.length;
i++) {
for (int j = 0;
j < arr.length;
j++) {
if (j == chars[i] - 97){
//对应索引的字母每出现一次,就再该索引对应的值下面++
arr[j] += 1;
}
}
}
//System.out.println('a' - 97);
for (int i = 0;
i < arr.length;
i++) {
if (arr[i] != 0){
System.out.println((char)(i+97) + "--" + arr[i]);
}
}
}}
4,判断数组中的元素值是否对称. 开发提示: 数组中元素首尾比较。
public class Test06 {public static void main(String[] args) {
//int[] arr = {1, 2, 3, 4, 3, 2, 1};
int[] arr = {1, 2, 3, 4, 5, 2, 1};
boolean flag = true;
for (int i = 0;
i < arr.length;
i++) {
if (arr[i] != arr[arr.length - 1 - i]){
flag = false;
}
}
if (flag){
System.out.println("是否对称:true");
}else {
System.out.println("是否对称:false");
}}}
5,比较两个数组内容是否完全一致。 开发提示:长度一致,内容一致,定义为完全一致。
public class Test07 {public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 3, 2, 1};
int[] arr2 = {1, 2, 3, 4, 3, 2, 1};
boolean flag = true;
if (arr1.length != arr2.length){
flag = false;
}
for (int i = 0;
i < arr1.length;
i++) {
if (arr1[i] != arr2[i]){
flag = false;
break;
}
}
if (flag){
System.out.println("是否一致" + true);
}else {
System.out.println("是否一致" + false);
}}}
6,随机验证码。 随机生成十组六位字符组成的验证码。验证码由大小写字母、数字字符组成。
开发提示: 使用字符数组保存原始字符,利用Random类生成随机索引。
public class Test12 {public static void main(String[] args) {
String[] arr = new String[10];
Random rand = new Random();
for (int i = 0;
i < arr.length;
i++) {
arr[i] = "";
for (int j = 0;
j < 6;
j++) {
int num;
while(true){
num = rand.nextInt(123);
//数字[48,57]大写字母[65,90]小写字母[97,122]
if(num>=48 && num<=57){
break;
}else if(num>=65 && num<=90){
break;
}else if(num>=97 && num<=122){
break;
}
}
arr[i] += (char)num;
}
}for (int i = 0;
i < arr.length;
i++) {
System.out.println("随机验证码:" + arr[i]);
}
}}
推荐阅读
- mysql|阿里一面(SQL 优化有哪些技巧)
- 基于SSM新冠疫苗预约管理系统
- Java|Dreamweaver网页课设做家乡网站
- 程序设计原则|高级程序员必会的程序设计原则 —— 复杂度守恒原则
- #|day07_面向对象之类中的成员(变量丶方法)
- 趣学编程|面试官(Dubbo是什么,他有什么特性())
- Redis|Redis发布与订阅
- java|基于SSM的Java图书管理系统
- java|Spring Boot在线教育系统