需求:
1、有注册功能,随机分配卡号
2、有登录界面
3、按照卡号随机抽奖功能
4、登录出错和选择出错次数有限制
代码实现:
package register_system;
import java.util.Scanner;
import javax.sql.rowset.CachedRowSet;
public class RunCode {
static int a = 0; //错误输入次数
static int b = 0; //登录错误次数
static int c = 0; //判断是否注册
static String name = "";
static int password = 0;
static int cardNumber = 0; //卡号
static int []array= new int[5];
public static void runcode() {
Scanner scanner = new Scanner(System.in);
wp:do {
Print.print();
System.out.println("请输入选择:");
int num = scanner.nextInt();
switch(num) {
case 1:
if(c>=2) {
System.out.println("您已经注册");
break;
}
System.out.println("请输入用户名:");
name = scanner.next();
System.out.println("请输入密码");
password = scanner.nextInt();
System.out.println("您的卡号");
cardNumber =Random.random();
System.out.println(cardNumber);
c++;
break;
case 2:
if(c==0) {
System.out.println("请先注册账号");
}else {
System.out.println("请输入用户名");
String name1 = scanner.next();
System.out.println("请输入密码");
int password1 = scanner.nextInt();
if(name1.equals(name)&&password1==password) {
System.out.println("登录成功");
b++;
}else {
System.out.println("你的账户民或密码错误,请重新输入");
}
}
break;
case 3:
if(c==0) {
System.out.println("请先注册账号");
}
for(int x = 0;x < array.length ; x++) {
array[x] = Random.random();
}
for(int x = 0 ;x < array.length; x++) {
if(array[x]==cardNumber) {
System.out.println("您中奖了");
break wp;
}
}
System.out.println("您未中奖");
break;
}
}while(a<2&&b<3);
}
}
分析:
使用 do while循环,方便判断登录和选择错误次数
利用成员变量,注册后更改数值,登录不更改数值,抽奖判断数值是否是原始值
尽量使用.next( ),nextLine( )容易出错