黑马程序员技术交流社区
标题:
黑马游戏厅
[打印本页]
作者:
ninety_奶挺
时间:
2015-12-6 00:49
标题:
黑马游戏厅
/*
通过键盘录入几个选项, 选择玩几个小游戏 比如 1 2 3 4
用switch语句实现匹配 ,
选项1:
让用户在控制台输入两个整数,然后交换顺序输出. -- 这将两种方式都敲一下
选项2:
让用户在控制台输入两个整数 ,第一个数小,第二个数大, 计算这两个数之间所有偶数的和
// 思考,如果用户输入的第一个数比第二个数还大 怎么办?
// 可以判断一下用大的减去小的,还可以让用户重新输入。
选项3:
让用户输入一个数字,这个数字表示的意思是打印多少行的*, 而这个星星是三角形的
选项4:
选择这个选项,我给你个惊喜 -- 打印个99乘法表
default: 选错了选项,怎么办? 结束.
*/
import java.util.Scanner;
class Demo_ZongHe {
public static void main(String[] args) {
outer: while(true){
String s1="欢迎来到黑马游戏厅!本游戏厅有四款游戏可供选择:";
String s2="1:这个游戏很有趣\r\n2:这个游戏很好玩\r\n3:这个游戏很棒\r\n4:这个游戏很简单";
String str="----------------------------------------------------------";
String str2="游戏结束,欢迎您的光临,期待您以后常来玩!";
sop(s1);
sop(s2);
sop(str); // 打印分隔符
sop("请输入1-4中的一个整数,选择你想玩的游戏。");
int num=imputNum();
sop(str); // 打印分隔符
String str3="请输入第一个整数:";
String str4="请输入第二个整数:";
switch (num) {
case 1:
sop("你选择了游戏1:交换输出");
sop(str); // 打印分隔符
sop(str3); //打印输入提示语句
int a=imputNum();
sop(str4); //打印输入提示语句
int b=imputNum();
changeNum(a,b);
sop(str2); //打印欢迎语句
sop(str);
break;
case 2:
sop("你选择了游戏2:计算两个数之间所有偶数的和");
sop(str); // 打印分隔符
sop(str3); //打印输入提示语句
int x=imputNum();
sop(str4); //打印输入提示语句
int y=imputNum();
sop(x+"和"+y+"之间所有偶数的和="+add_D(x,y));
sop(str2); //打印欢迎语句
sop(str); // 打印分隔符
break;
case 3:
sop("你选择了游戏3:打印小星星");
sop("请输入一个正整数,建议控制在1到50内");
int n=imputNum();
printStar(n);
sop(str2); //打印欢迎语句
sop(str); // 打印分隔符
break;
case 4:
sop("你选择了游戏4:打印九九乘法表");
print99();
sop(str2); //打印欢迎语句
sop(str); // 打印分隔符
break;
default:
sop("输入错误,游戏结束。");
break outer;
}
}
}
//定义一个函数imputNum,用于录入一个整数。
public static int imputNum(){
Scanner sc=new Scanner(System.in); //创建键盘录入对象
int x=sc.nextInt(); //将从键盘录入的数字存储到x中。
return x;
}
//定义一个方法,用于打印字符串
public static void sop(String str){
System.out.println(str);
}
//定义方法,用于实现选项1的功能:
// 选项1: 让用户在控制台输入两个整数,然后交换顺序输出. -- 这将两种方式都敲一下
public static void changeNum(int a,int b){
System.out.println("交换前两个整数分别为:"+a+","+b);
//第一种,定义第三方变量,开发中推荐该方式。
int temp=a;
a=b;
b=temp;
/*
第二种,利用^的特性。
a=a^b;
b=a^b;
a=a^b;*/
System.out.println("交换后两个整数分别为:"+a+","+b);
}
/*定义方法,用于实现选项2的功能:
选项2:
让用户在控制台输入两个整数 ,第一个数小,第二个数大, 计算这两个数之间所有偶数的和
// 思考,如果用户输入的第一个数比第二个数还大 怎么办?
// 可以判断一下用大的减去小的,还可以让用户重新输入。
*/
public static int add_D(int a,int b){
int sum=0;
if (a>b) {
for (int i=b;i<=a ;i++ ) {
if (i%2==0) {
sum+=i;
}
}
}
else {
for (int i=a;i<=b ;i++ ) {
if (i%2==0) {
sum+=i;
}
}
}
return sum;
}
/*定义一个方法,用于实现选项3的功能:
选项3:
让用户输入一个数字,这个数字表示的意思是打印多少行的*, 而这个星星是三角形的
*/
public static void printStar(int n){
for (int x=1;x<=n ;x++ ) { //外循环控制打印的星星的行数。
for (int y=1;y<=x ;y++ ) { //内循环控制打印的星星的列数。
System.out.print("*");
}
System.out.println(); //换行。
}
}
/*定义一个方法,用于实现选项4的功能。
选项4:
选择这个选项,我给你个惊喜 -- 打印个99乘法表
*/
public static void print99(){
for (int x=1;x<=9 ;x++ ) { //外循环控制行数
for (int y=1;y<=x ;y++ ) { //内循环控制列数
System.out.print(y+"*"+x+"="+x*y+"\t");
}
System.out.println(); //换行
}
}
}
作者:
耿帅东
时间:
2015-12-6 12:56
作者:
wyasln
时间:
2015-12-6 13:12
代码好多,慢慢看
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2