java方法案例练习1

抢红包

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;

}

}

  • 48
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值