案例一:逢7跳过
要求:1—100个数之间遇见7或者7的倍数打印“过”
public static void getSeven(){
for(int i=1;i<=100;i++){
int u = i % 10; //获取个位数字
int t = i / 10 % 10; //获取十位数字
int m = i % 7; //获取7的倍数
if(u==7 || t == 7 || m==0){
System.out.println(" 过 ");
}else{
System.out.println(" "+i+" ");
}
}
}
案例二:查找元素在数组中的索引
要求:设计一个方法 , 查找元素在数组中的索引位置
已知一个数组 arr = {19, 28, 37, 46, 50};
键盘录入一个数据,查找该数据在数组中的索引。
并在控制台输出找到的索引值。
如果没有查找到,则输出 -1
public static void findElement(int[] arr){
Scanner sc = new Scanner(System.in); //引入键盘录入
System.out.println("请输入一个正整数:");
int input = sc.nextInt(); // 键盘录入
int t = -1; //定义一个值接收数组中的索引值,初始值为-1,
for (int i=0;i<arr.length;i++){
if(input == arr[i]){
t = i; //找到录入的正整数,并将正整数的索引值给t
}
}
System.out.println(t); //打印t值
}
案例三:数组元素反转
要求:已知一个数组 arr = {11, 22, 33, 44, 55}; 用程序实现把数组中的元素值交换,
交换后的数组 arr = {55, 44, 33, 22, 11}; 并在控制台输出交换后的数组元素。
public static int[] overturn(int[] array){
for(int i=0;i<array.length/2;i++){ //循环找到数组一半的元素
int b=array[i]; //定义一个临时整数变量,将第i个元素赋值给b
array[i] = array[array.length-1-i]; //将数组中对称位置的元素向前赋值
array[array.length-1-i] = b; //将临时变量记录的元素向后赋值
}
return array;
}
案例四:随机产生验证码
要求:请从 26 个英文字母(大小写都包含),以及数字 0-9 中,随机产生一个 5 位的字
符串验证码并打印在控制台
效果: uYq8I , 3r4Zj
private static char[] getContents() { //获取数组
char[] chs = new char[26 + 26 + 10]; //定义一个26个小写字母+26个大写字母 + 10个数组的数组
int index = 0; //定义整数变量
for(char c = 'a'; c <= 'z'; c++){ //将小写字母一次放入数组
chs[index] = c;
index++;
}
for(char c = 'A'; c <= 'Z'; c++){ //将大写字母一次放入数组
chs[index] = c;
index++;
}
for(char c = '0'; c <= '9'; c++){ //将0到9的数字放入数组
chs[index] = c;
index++;
}
return chs;
}
private static String getCheckCode(char[] chs) { //获取验证码
Random r = new Random(); //引入随机数
String checkCode = ""; //定义一个字符串
for(int i = 1; i <= 5; i++){
int randomIndex = r.nextInt(chs.length); //随机产生一个索引
checkCode += chs[randomIndex]; //拼接元素
}
return checkCode;
}