抢红包
importjava.util.Random;
importjava.util.Scanner;
publicclassJavaDemoDay6Example6{
publicstaticvoidmain(String[]args){
//完成抢红包案例
//定义数组储存红包数值
int[]moneys={100,200,666,8888,520};
takeMoney(moneys);
}
publicstaticvoidtakeMoney(int[]moneys){
方案一:每个人都抽一次,判断抽到的金额是否为零,为零则继续抽,直到将红包抽完,结束
//Scannersc=newScanner(System.in);
//Randomr=newRandom();
//for(inti=0;i<moneys.length;i++){
//intindex=r.nextInt(5);//记录0~4的索引值
if(moneys[index]!=0){
System.out.println("恭喜您,抽中了金额为"+moneys[index]+"的红包");
moneys[index]=0;
}else{
如果为零的话,继续抽,直到不为0
//while(true){
//System.out.println("请您随机输入一串字符,开始抽奖:");
//Stringa=sc.next();
//index=r.nextInt(5);//记录0~4的索引值
//if(moneys[index]!=0){
//System.out.println("恭喜您,抽中了金额为"+moneys[index]+"的红包");
//moneys[index]=0;
//break;
//}
//
//}
//}
//
//System.out.println("抽奖结束!!!");
//方案二:将红包顺序打乱,抽到的金额就是红包的金额
Randomr=newRandom();
Scannersc=newScanner(System.in);
for(inti=0;i<moneys.length;i++){
intindex=r.nextInt(moneys.length);
intte=moneys[i];
moneys[i]=moneys[index];
moneys[index]=te;
}
for(inti=0;i<moneys.length;i++){
System.out.println("请您随机输入一串字符,开始抽奖:");
Stringcin=sc.next();
System.out.println("您抽中的红包金额为:"+moneys[i]);
}
}
}
找素数
importjava.util.Scanner;
publicclassJavaDemoDay6Example7{
publicstaticvoidmain(String[]args){
//寻找素数案例
Scannersc=newScanner(System.in);
System.out.println("请您输入搜索区间(两个整数):");
inta=sc.nextInt();intb=sc.nextInt();
if(a>b){
intte=a;a=b;b=te;
}
System.out.println("素数的个数为:"+seekSu(a,b));
}
publicstaticintseekSu(intfirst,intlast){
//代表起始点
intcount=0;
for(inti=first;i<=last;i++){
booleanflag=true;//默认为true,表示是素数
//在每次判断一个数是否为素数时,应该将flag的初始值设置为true,以便在每次循环开始时重新判断是否为素数。所以,应该将flag=true的语句放在for循环的开头。
//判断这个数是否为素数
for(intj=2;j<=(i/2);j++){
if(i%j==0){
flag=false;//一旦被整除,则不是素数
break;
}
}
if(flag){
System.out.println(i);
count++;
}
}
returncount;
}
}
importjava.util.Scanner;
publicclassJavaDemoDay6Example7_2{
publicstaticvoidmain(String[]args){
//利用结束外部循环的当次执行简化代码
Scannersc=newScanner(System.in);
System.out.println("请您输入搜索区间(两个整数):");
inta=sc.nextInt();intb=sc.nextInt();
if(a>b){
intte=a;a=b;b=te;
}
System.out.println("素数的个数为:"+check(a,b));
}
publicstaticintcheck(intstart,intend){
intcount=0;
out:
for(inti=start;i<=end;i++){
//遍历过程进行拦截,只输出是素数的i
for(intj=2;j<=i/2;j++){
if(i%j==0){
continueout;
}
}
count++;
System.out.println(i);
}
returncount;
}
}
打印三角形和九九乘法表
publicclassJavaDemoDay6Example9{
publicstaticvoidmain(String[]args){
//打印三角形
}
publicstaticvoidprintTri(intn){
//1.打印多少行(n)2.每一行:先打空格,再打*3.换行
//行(i)空格*换行
//1n-11
//2n-23
//3n-35
//....................................
//控制行数
for(inti=1;i<=n;i++){
//控制空格
for(intj=1;j<=n-i;j++){
System.out.println("");
}
//控制*个数
for(intj=1;j<=2*i-1;j++){
System.out.println("*");
//如果要打印成
//*
//**
//***
//只需要把这个循环语句换为
//System.out.println(j%2==0?"":"*");
}
}
}
}
importjava.util.Scanner;
publicclassJavaDemoDay6Example8{
publicstaticvoidmain(String[]args){
printP();
}
publicstaticvoidprintP()
{
System.out.println("请输入您想打印N*N的乘法表(一个整数):");
Scannersc=newScanner(System.in);
intn=sc.nextInt();
for(inti=1;i<=n;i++){
for(intj=1;j<=i;j++){
System.out.print(j+"x"+i+"="+i*j+"");
}
System.out.println();
}
}
}
密码加密
importjava.util.Scanner;
publicclassJavaDemoDay6Example4{
publicstaticvoidmain(String[]args){
//密码加密
Scannersc=newScanner(System.in);
System.out.println("请输入您想加密的密码位数:");
intn=sc.nextInt();
System.out.println("加密后的密码为:"+secret(n));
}
publicstaticStringsecret(intn){
Scannersc=newScanner(System.in);
int[]arr=newint[n];
System.out.println("请依次输入原始密码");
获取原始密码
//for(inti=0;i<n;i++){
//arr[i]=sc.nextInt();
//}
进行加五的操作
//for(inti=0;i<n;i++){
//arr[i]+=5;
//}
进行取模操作
//for(inti=0;i<n;i++){
//arr[i]%=10;
//}
//以上三步可以简化为一步
for(inti=0;i<n;i++){
arr[i]=(sc.nextInt()+5)%10;
}
//将数组反转
StringnewSec="";
for(inti=0,j=n-1;i<j;i++,j--){
inttemp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
for(inti=0;i<n;i++){
newSec+=arr[i];
}
returnnewSec;
}
}
数组拷贝
importjava.util.Scanner;
publicclassJavaDemoDay6Example5{
publicstaticvoidmain(String[]args){
//手动拷贝数组
Scannersc=newScanner(System.in);
System.out.println("请您输入整形数组的位数:");
intn=sc.nextInt();
int[]arr=newint[n];
System.out.println("请您输入一个整形数组:");
for(inti=0;i<n;i++){
arr[i]=sc.nextInt();
}
System.out.println("拷贝后的数组为:");
System.out.println(arrayCpy(arr));
}
publicstaticStringarrayCpy(int[]arr)
{
Stringcopy="";
int[]arr1=newint[arr.length];
for(inti=0;i<arr1.length;i++){
arr1[i]=arr[i];
copy+=arr[i];
}
returncopy;
}
}
生成验证码
importjava.util.Random;
importjava.util.Scanner;
publicclassJavaDemoDay6Example2{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("您想获得多少位验证码?请您输入一个整数:");
intn=sc.nextInt();
System.out.println(createCode(n));
}
publicstaticStringcreateCode(intn){
Stringcode="";
Randomr=newRandom();
for(inti=1;i<=n;i++){
//验证码有三种类型:数字,大写字母,小写字母
//用012分别代表三种类型
inttype=r.nextInt(3);
//匹配值
switch(type){
case0://生成的是数字
inta=r.nextInt(10);
code+=a;
break;
case1://生成的是大写字母
//A:65Z65+25(0-25)+65
charch=(char)(r.nextInt(26)+65);
code+=ch;
break;
case2://生成的是小写字母
//a:97Z97+25(0-25)+97
charchs=(char)(r.nextInt(26)+97);
code+=chs;
break;
}
}
returncode;
}
}