系统描述
1.如图所示,该系统分为三个选项:开始选号、现在开奖和退出。首先进入该系统输入1则开始选号,选号要求不能超过3位数,如果超过3位数则提示输入有误,请重新输入。如果输入数字符号要求则进入下一选项环节。
如下图所示输入格式正确指之后您可以重新选择1重新选号或者进入开奖环节。如果您中奖了系统会提升中奖,如果没有的话则会提示是否继续按y则进入选择界面按n则退出系统。如果之前没有选号直接选择第2个选项会提示没有选项信息接下来默认进入开始选号功能界面。
代码解析
- 好了多了不说,少了不唠,直接上本人写的代码。
如下图所示,首先定义了一个NumManage类,定义了两个变量userNum和winNum分别代表用户输入的号码和后台默认的中奖号码。同时在构造参数编写了两变量的默认值。 - 如图构造了一个选号的方法,即第一个选项。为了避免客户输入的数字不符合要求出现重复输入的情况,在这里定义了一个while循环。如果用户输入的数字超过两位数则继续进行循环输入否则跳出该循环并打印提示信息。
- 如图接下来编写了主菜单方法,同样为了满足用户反复进行选择,便写了一个while循环。首先用num来接收用户输入的选项。如果用户选择了第项便进入了第一个分枝调用selectNum()方法。
如果用户选择了第二个选项则进入了第2个分枝首先判断userNum的值是否发生了改变,如果用户经过第一个选项输入数字之后,必然userNum的默认值会发生改变,如果默认值还是-1说明用户直接跳过了选号功能来到了直接开奖系统,这里会提示没有输入号码并调用selectNum()方法默认进入选号界面。
否则如果用户正好输入的数字为98则输出中奖信息并默认结束主菜单方法退出系统。
如果用户输入的号码没有中奖,则提示没有中奖信息并询问用户是否继续选号如果用户没有输入y则退出系统。如果用户一开始就选择了3号选项则提示再见退出系统。如果输入的选项不是1,,2或3则提示输入选项不存在,继续循环进入选项界面。 - 运行结果展示
- 好了这就是本人的一些思路,欢迎进行交流!都看到这里了,留个赞再走呗!谢谢!**
源码
import java.util.Scanner;
public class NumManage {
public int userNum;//userNum-用户输入的号码
public int winNum;//winNum-开奖号码。
public NumManage() {//创建无参构造初始化userNum的值为-1.winNum的值为98。
userNum = -1;
winNum = 98;//中奖号码设置为98
}
//主菜单方法
public void menu() {
while(true) {
System.out.println("欢迎进入六合彩开奖系统!");
System.out.println("请选择您的操作:1.开始选号 2.现在开奖 3.退出系统");
System.out.println("--------------------------------------");
System.out.println("请输入您的选择:");
Scanner scanner = new Scanner(System.in);
int num = Integer.parseInt(scanner.next()); //用户输入的选项
if(num == 1) {//如果输入1,调用选号方法
selectNum();
}else if(num == 2) {//如果输入选项2进行如下判断
if(userNum == -1) {//如果用户输入的号码没有变过还是-1,说明该用户直接选择了第2项,
//则进行错误提示,并默认进入第1个选项进行中奖号码的输入
System.out.println("您还没有输入您的号码!");
selectNum();
}else if(userNum == winNum){//如果用户输入的号码等于98则提示中奖,并退出该系统。
System.out.println("恭喜您中奖了!中奖号码为98!");
return;//结束该主菜单方法意味着退出系统。
}else {//如果用户输入的号码不等于98则提示没有中奖,并询问是否继续进行选号。
System.out.println("抱歉,您没有中奖,请问您是否继续选号?y/n");
Scanner scanner1 = new Scanner(System.in);
String flag = scanner1.next();//flag 为用户输入是否是y还是n
if(!flag.equals("y")) {//如果不为y说明不在继续则退出该系统。
System.out.println("再见!");
return;//结束该主菜单方法意味着退出系统。
}
}
}else if(num == 3) {//如果选择为3,说明直接退出系统
System.out.println("再见!");
return;
}else {//如果不是1或者2或者3 说明输入选项非法
System.out.println("您输入的选项不存在!");
}
}
}
//选号方法
public void selectNum() {
while(true) {//开始循环!
System.out.println("请输入您的选择,号码不能超过99!");
Scanner scanner = new Scanner(System.in);
userNum = Integer.parseInt(scanner.next());//如果用户输入号码,userNum的值会发生改变。
if(userNum < 0 || userNum > 99) {//如果输入的号码有误,则继续循环输入
System.out.println("您输入的号码有误,请重新输入!");
}else {//否则说明输入号码符号要求,结束循环!
break;
}
}
System.out.println("输入完毕,请选择:");
}
}
public class NumManageTest {
public static void main(String[] args) {
NumManage numManage = new NumManage();
numManage.menu();
}
}