利用java基本语法设计石头剪子布游戏

运用到的知识

  1. 选择结构if、switch
  2. 循环结构for
  3. 流程控制coutinue、break
  4. Scanner控制台、Random包的引用
  • computer随机出石头、剪子和布,player在命令窗口输入石头、剪子和布,进行判断,三局两胜

包的引用

  • Scanner:从控制台读取player的输入
  • Random:获取computer的出法
  1. 首先导入在package后,函数前,通过语法:import 包名.类名导入。
// 导入Scanner与Random
import java.util.Scanner;
import java.util.Random;
  1. 使用前进行声明
// 对Scanner与Random进行声明
Scanner input = new Scanner(System.in);
Random ran = new Random();
  1. 调用
// 从控制台获取字符串,存入str
String str = input.next();
//随机产生0~2之间的数,存入computer
int computer = ran.nextInt(3);

控制台获取各种数据类型的调用语法:

数据类型 语法
int int a = input.nextInt();
double double a = input.nextDouble();
String String a = input.next();
char char a = input.next()charAt(0);

switch的使用

  • switch语句实现computer与player在命令窗口依“石头、剪子和布”的形式展现
  1. 把系统产生的0~2之间的随机数,转换为:石头、剪子和布,为了展示
//此段代码,只为测试最终实际效果使用,实际使用中可以注释掉
switch(computer){
				case 0: System.out.println("电脑本回合出:剪子"); break;
				case 1: System.out.println("电脑本回合出:石头"); break;
				case 2: System.out.println("电脑本回合出:布"); break;
			}
  1. 从控制台获取字符,转换为0、1和2,为了方便进行判断
//此段代码,只为测试最终实际效果使用,实际使用中可以注释掉
switch (str){
			case "剪子": player = 0; break;
			case "石头": player = 1; break;
			case "布": player = 2; break;
			default:System.out.println("请出: “剪子”、 “石头”或“布”");	continue;
			}

此处continue是为了防止非法字符输入,当输入除“石头、剪子或布“的其他字符时,会跳过本次循环,并且不计入局数,进行提示,再次输入

if语句

  • 对输赢进行判断
  • 控制局数
  1. 判断输赢
	if(computer  == player){
			System.out.println("-----------平局------------");
			continue;
			}else if ((computer ==0 && player ==2 )||(computer == 1 && player == 0)||(computer == 2 && player ==1)){
			System.out.println("-----------电脑赢-----------");
			computerWin++;
			}else{
				System.out.println("-----------玩家赢-----------");
				playWin++;
				}

当出现平局时,通过continue跳过本次循环

  1. 局数的控制,computerWin与playerWin,进行统计
		if(computerWin==2 || playWin==2){
				if(computerWin==2)
					System.out.println("\n"+"                          "
									+"\n"+"¥¥¥¥电脑最终获胜¥¥¥¥"
									+"\n"+"                        ");
					else
					System.out.println("\n"+"                          "
									+"\n"+"¥¥¥¥玩家最终获胜¥¥¥¥"+
									"\n"+"                         ");
					break;

出现一方胜两场,输出最终结果,再通过break结束整个循环

for语句

控制循环

		for (int i = 1;i <= 3;){
		//以上的逻辑代码
		i++;
		}

i++,放在后面是因为防止把平局算入局数内

运行结果

在这里插入图片描述
第一次写blog,若有不足,欢迎指点
有表达不清的地方,也可以随时交流

发布了2 篇原创文章 · 获赞 1 · 访问量 64

猜你喜欢

转载自blog.csdn.net/qq_44952731/article/details/104225558