放假之后没事做,用前面学的知识写几个java初学者经常遇到的经典小案例
1.猜数字游戏
电脑随机产生一个数字,用户来猜。当用户猜的数字大于随机产生的数字时,电脑输出猜大了提示用户。当用户猜的数字小于随机产生的数字时,电脑输出猜小了提示用户,只要用户没有猜对,游戏就一直进行。
程序演示:
//导入Random包,产生随机数
import java.util.Random;
//导入Scanner包,可以输入用户猜的数字
import java.util.Scanner;
public class GuessNum {
public static void main(String[] args){
//实例化Scanner对象
Scanner sc = new Scanner(System.in);
//实例化Random对象
Random r = new Random();
//定义一个整数型变量num,储存随机产生的0-99的数字
int num = r.nextInt(100);
//做一个死循环,让游戏可以一直玩下去
while (true){
//打印提示输入信息
System.out.println("请输入你猜的数字");
//定义一个整数型变量guess,存储用户猜的数字
int guess = sc.nextInt();
//if语句判断用户输入的数字与游戏随机产生的数字的关系
//如果猜的数字比随机的数字大,就输出猜大了
if(guess > num){
System.out.println("猜大了!");
}else if(guess < num){//如果猜的数字比随机生成的小,就打印猜小了
System.out.println("猜小了!");
}else if(guess == num){//如果用户猜对了,就打印恭喜你猜对了,并且自动改结束游戏
System.out.println("恭喜你猜对了!");
break;
}
}
}
}
输出结果:
2.石头剪刀布游戏
手头剪刀布是我们很经典的一个游戏,我们和电脑从石头剪刀布中选一个,最后输出结果。过程和猜数字游戏相似。
注意:这次没有设计游戏停止的功能,所以游戏会一直执行下去。
代码演示:
//导入Scanner包
import java.util.Scanner;
//导入Random包
import java.util.Random;
public class RockPaperScissors {
public static void main(String[] args){
//实例化Scanner和Random对象
Scanner sc = new Scanner(System.in);
Random r = new Random();
//定义一个变量num,储存随机产生的0-2的数字
int num = r.nextInt(3);
//System.out.println(num);
//做一个死循环让游戏可以一直玩下去
while(true){
//打印提示用户选择语句 0 代表石头 1 代表剪刀 2 代表布
System.out.println("请选择:0、石头 1、剪刀 2、布");
//定义一个变量a,储存用户的选择
int a = sc.nextInt();
//if语句判断输赢
if((a==0&&num==2)||(a==1&&num==0)||(a==2&&num==1)){
System.out.println("很遗憾,你输了!");
}else if((a==0&&num==0)||(a==1&&num==1)||(a==2&&num==2)){
System.out.println("平局");
}else if((a==0&&num==1)||(a==1&&num==2)||(a==2&&num==0)){
System.out.println("恭喜你,你赢了!");
}else {
System.out.println("你的输入有误!");
}
}
}
}
输出结果:
3.打印乘法口诀表
用for循环的嵌套实现乘法口诀表行和列的打印
代码演示:
public class Cheng {
public static void main(String[] args){
//利用循环嵌套实现行和列的组成
//第一层for循环表示能打印的行数,i=1,i<=9就代表能打印9行
for(int i=1;i<=9;i++){
//第二个for循环代表着列数,j=1,j<=i;表示在第几行最对就打印几列
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+(i*j)+" ");
}
System.out.println();
}
}
}
输出结果:
4.打印等腰三角形
示例代码:
public class Triangle {
public static void main(String[] args){
//第一层for循环确定要打印的行数
for(int i=1;i<=5;i++){
//嵌套的第一个for循环是打印等腰三角形前面的空格
//空格是逐行递减的形式,所以k--
for(int k=5;k>i;k--){
System.out.print(" ");
}
//嵌套的第二个for循环是打印*的,逐行递增,并且每一个*后面都有一个空格
for(int j=0;j<i;j++){
System.out.print("* ");
}
//强制换行,在每一行的空格和*打印完成之后换行,进入下一次循环,打印下一行
System.out.println();
}
}
}
输出结果: