第八周作业
1:完善menu注册功能,抽奖,看小故事等功能
package chap1;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
public class Menu {
private static Map<String, String> users = new HashMap<>();
private static Scanner input;
public static void main(String[] args) {
mainMenu();
}
private static void mainMenu() {
input = new Scanner(System.in);
System.out.println("1.登录");
System.out.println("2.注册");
System.out.println("3.幸运抽奖,输入四位会员卡号,如果百位等于系统随机数,就是星运会员.否则不是.");
System.out.println("4.看小故事,");
System.out.println("5.退出系统");
System.out.println("请选择");
int i = input.nextInt();
switch (i) {
case 1:
login();
break;
case 2:
register();
break;
case 3:
gacha();
break;
case 4:
readStory();
break;
case 5:
System.out.println("谢谢使用");
return;
default:
returnMain();
break;
}
}
private static void readStory()
{
System.out.println(" 有个老人在河边钓鱼,一个小孩走过去看他钓鱼。老人技巧纯熟,所以没多久就钓上了满篓的鱼,老人见小孩很可爱,要把整篓的鱼送给他,小孩摇摇头,老人惊异的问道:“你为何不要?”\n" +
"\n" +
" 小孩回答:“我想要你手中的钓竿。”老人问:“你要钓竿做什么?”小孩说:“这篓鱼没多久就吃完了,要是我有钓竿,我就可以自己钓,一辈子也吃不完。”\n" +
"\n" +
" 我想你一定会说:好聪明的小孩。错了,他如果只要钓竿,那他一条鱼也吃不到。因为,他不懂钓鱼的技巧,光有鱼竿是没用的,因为钓鱼重要的不在钓竿,而在钓技。");
returnMain();
}
private static void gacha()
{
System.out.println("请输入四位会员卡号");
int card = input.nextInt();
Random r = new Random();
int rd = r.nextInt(10);
if (card / 100 % 10 == rd)
{
System.out.println("您是幸运会员");
}
else
{
System.out.println("您不是幸运会员");
}
returnMain();
}
private static void register()
{
System.out.println("请输入注册的账号");
String un = input.next();
System.out.println("请输入注册的密码");
String pwd = input.next();
if (users.containsKey(un))
{
System.out.println("账号已存在");
returnMain();
}
users.put(un, pwd);
System.out.println("注册成功");
returnMain();
}
private static void login() {
System.out.println("输入用户名");
String uname = input.next();
System.out.println("输入密码");
String upwd = input.next();
if (users.containsKey(uname) && users.get(uname).equals(upwd))
{
System.out.println("登录成功");
} else {
System.out.println("登录失败");
}
returnMain();
}
private static void returnMain(){
System.out.println("是否返回主菜单?Y/N");
String next = input.next();
if (next.equalsIgnoreCase("Y"))
{
mainMenu();
}
else if (next.equalsIgnoreCase("N"))
{
System.out.println("谢谢使用");
}
else
{
returnMain();
}
}
}

2.编写一个方法,求整数n的阶乘,例如5的阶乘是1*2*3*4*5。 [必做题]
package chap1;
import java.util.Scanner;
public class Menu {
private static int jc(int x)
{
int sum = 1;
for (int i = x; i > 0; i--)
{
sum *= i;
}
return sum;
}
public static void main(String[] args) {
System.out.println("请输入一个数字");
Scanner s = new Scanner(System.in);
System.out.println("阶乘为" + jc(s.nextInt()));
}
}

3.编写一个方法,判断该年份是平年还是闰年。[必做题]
package chap1;
import java.util.Scanner;
public class Menu {
private static boolean run(int year)
{
return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}
public static void main(String[] args) {
System.out.println("请输入一个年份");
Scanner s = new Scanner(System.in);
if (run(s.nextInt()))
{
System.out.println("是闰年");
}
else
{
System.out.println("不是闰年");
}
}
}


浙公网安备 33010602011771号