java基础练习总结2

此博客包含多个Java程序示例,包括简单的ATM取款模拟,购买衣物的场景,计算阶乘,游戏支付游戏币的逻辑,玩游戏晋级规则,录入用户信息,百钱买百鸡问题,100以内数字的倍数判断,求和1-100之间非7的倍数,打印菱形、九九乘法表、矩形、倒三角和三角形,打印等腰三角形以及统计打折商品的数量。
摘要由CSDN通过智能技术生成

目录

简单模拟ATM取款(****)

购买衣物 

计算阶乘

玩游戏支付游戏币(******)

玩游戏晋级 (*****) 

录入用户信息(***)

百钱买百鸡(********)

100以内倍数计算

求和 1-100之间所有不能被7整除的数,并求和,四个打印一行

打印菱形(***************)

打印九九乘法表(****)

打印矩形(****)

打印倒三角(*****)

打印三角形(*****)

打印等腰三角形(******)

统计打折商品的数量(*****)


简单模拟ATM取款(****)

 过程模拟

        1.用户输入密码

        2.取款金额

        3.用户密码

        4.记录密码输入次数

        5.密码是否通过验证
          密码校验:三次机会 超过三次退卡提醒:密码错误,请取卡 金额校验:大于0,确认金额,确认后输出:您取款xx¥,交易完成
          小于0时,提示:输入有误,重新输入:次数超过三次,提示信息:请取卡

package com.day4;

import java.util.Scanner;

//简单模拟ATM取款
public class ATMTWIthdraw {
	public static void main(String[] args) {
		/*
		 * 过程模拟 1.用户输入密码 2.取款金额 3.用户密码 4.记录密码输入次数 5.密码是否通过验证
		 */
		/*
		 * 密码校验:三次机会 超过三次退卡提醒:密码错误,请取卡 金额校验:大于0,确认金额,确认后输出:您取款xx¥,交易完成
		 * 小于0时,提示:输入有误,重新输入:次数超过三次,提示信息:请取卡
		 */
		// 1.用户输入密码
		Scanner sc = new Scanner(System.in);
		int count = 1; //统计输入的错误次数
		int M_count = 1; //输入金额错误次数
		for(int i=1;i<=3;i++) {
			System.out.println("输入用户密码");
			String flag = sc.next();
			if(flag.equals("12345")) { //判断密码是否正确 假设密码为12345
				//判断输入的金额是否大于0
				//for()
				System.out.println("输入取款金额:");
				for(int j=1;j<=3;j++) {
				double money = sc.nextDouble();
				if(money>0) {
					System.out.println("您好,您取款"+money+"¥,交易完成");
					break;
				}if(money<0) {
					System.out.println("金额输入有误,请重新输入取款金额:");
					 money = sc.nextDouble();
					 M_count++;
					 if(M_count>=3) {
						 System.out.println("次数超过三次,请取卡");
						 break;
					 }
				
				}
				// continue;
				}
				break;
			}
			if(!flag.equals("12345")) {
				System.out.println("输入有误,重新输入密码:");
				flag = sc.next();
				count++;
				if(count>=3) {
					System.out.println("密码输入超过三次,请取卡");
					break;
				}
			}
		}
		
	}
}

购买衣物 

5家店 每家最多买3件

package com.day4;

import java.util.Scanner;

public class ClothPurchases {
	public static void main(String[] args) {
		/*
		 * 购买衣物
		 * 5家衣物专卖店  每家最多购买三件
		 */
		Scanner sc = new Scanner(System.in);
		//定义count 累加衣物总数
		int count = 0;
		String flag ;
		for (int i = 1; i <= 5; i ++) { //控制专卖店个数
			System.out.println("欢迎光临第"+i+"家专卖店");
			
			for(int j = 1; j <= 3; j ++) { //购买衣物的数量
				
				System.out.print("要离开吗(y/n)?");
				flag = sc.next();
				if(flag.equals("y")) {
					System.out.println("离店结账");
					break;
				}else {
					System.out.println("买了"+j+"件衣服");
					count += j;
					break;
				}
			}
		}
		System.out.println("总共买了"+count+"件衣服");
	}
}

计算阶乘

格式如图:

package com.day4;

import java.util.Scanner;

public class Factorial {
	public static void main(String[] args) {
		/*
		 * 计算阶乘 要求: 接收用户输入的正整数 在1-10之间 大于等于1,小于等于10 无效数据给出提示信息
		 */
		System.out.print("请输入要计算的阶乘数(1-10之间正整数):");
		Scanner sc = new Scanner(System.in);
		int number = sc.nextInt();
		int sum = 1; // 阶乘总和
		String str = "";
		if (number >= 1 && number <= 10) {
			System.out.print(number + "!=");
			for (int i = 1; i <= number; i++) {
				sum *= i;
				str = i + "*";
				System.out.print(str + "=");
			}
			System.out.println(sum);
		} else {
			System.out.println("抱歉您输入的数字不满足要求");
		}
	}
}


玩游戏支付游戏币(******)

package com.day4;

import java.util.Scanner;

/*
 * 玩游戏支付游戏币
 */
public class GameCurrency {
	public static void main(String[] args) {
		/**
		 * 游戏类型分为两类:
		 * 牌类 收费标志:10元/小时
		 * 休闲竞技类 收费标志:20元/小时
		 * 收费规则 时间超过10小时,打5折,10小时及以下,打8折
		 */
		System.out.println("青鸟迷你游戏平台  >游戏币支付\n");
		System.out.println("请选择您玩的游戏类型:");
		System.out.println("\t\t1.牌类");
		System.out.println("\t\t2.休闲竞技类");
		Scanner sc = new Scanner(System.in);
		int id = sc.nextInt();
		int time ;
		double rebate = 0 ;
		//牌类收费标准 10元
		int card = 10; 
		//休闲竞技类收费标准 20元
		int leisure = 20; 
		double moneyCount = 0;
		switch (id) {
		case 1:
			System.out.println("请您输入游戏时长:");
			time = sc.nextInt();
			if(time <= 10) {
				rebate = 0.8;
			
			moneyCount = time*card*rebate;
			System.out.println("您玩的是牌类游戏,时长是:"+time+"小时,"+(rebate*10)+"折优惠");
			System.out.println("您需要支付"+((int)moneyCount)+"个游戏币");
			}
			if(time > 10) {
				rebate = 0.5;
				moneyCount = time*card*rebate;
				System.out.println("您玩的是牌类游戏,时长是:"+time+"小时,"+(rebate*10)+"折优惠");
				System.out.println("您需要支付"+((int)moneyCount)+"个游戏币");
			}
			break;

		case 2:
			System.out.println("请您输入游戏时长:");
			time = sc.nextInt();
			if(time >10) {
				rebate = 0.5;
			
			moneyCount = time*leisure*rebate;
			System.out.println("您玩的是休闲竞技类游戏,时长是:"+time+"小时,"+(rebate*10)+"折优惠");
			System.out.println("您需要支付"+((int)moneyCount)+"个游戏币");
			}
			if(time <=10) {
				rebate = 0.8;
			
			moneyCount = time*leisure*rebate;
			System.out.println("您玩的是休闲竞技类游戏,时长是:"+time+"小时,"+(rebate*10)+"折优惠");
			System.out.println("您需要支付"+((int)moneyCount)+"个游戏币");
			}
			break;
		}
	}
}

玩游戏晋级 (*****) 

package com.day4;

import java.util.Scanner;

public class GramePlatform {
	public static void main(String[] args) {
		System.out.println("青鸟迷你游戏平台   >游戏晋级\n");
		Scanner sc = new Scanner(System.in);
		int i = 1;
		int num = 0;
		String flag;
			System.out.print("您正在玩第"+i+"局游戏,成绩为:");
			int score = sc.nextInt();
			num++;
			//System.out.println(score);
			System.out.println("继续玩下一局游戏吗(yes/no)");
			 flag = sc.next();
				for (; i <5; ) {
			//判断是否结束游戏,如果是no则结束,yes继续
			if(flag.equals("no")) {
				System.out.println("您已经中途退出游戏!");
				break;
			}else {
				System.out.println("进入下一局");
				System.out.println("您正在玩第"+(++i)+"局游戏,成绩为:");
				score = sc.nextInt();
				if(score >= 80) {
					num++;
				}
				//System.out.println(score);
				System.out.println("继续玩下一局游戏吗(yes/no)");
				 flag = sc.next();
				 if(flag.equals("no")) {
					 System.out.println("您已经中途退出游戏!");
						break; 
				 }

			}		
			}
			//num-=1;
			//计算输入的成绩是否大于80
		//	System.out.println("成绩大于80分的人数"+num);
			double per = (double)num/5;
			//System.out.println("分数大于80的"+per*100+"%");
			if(per>=0.8) {
				System.out.println("恭喜,您达到一级啦");
			}else if(per>=0.6&&per<=0.8) {
				System.out.println("恭喜,您达到二级啦");
			}else {
				System.out.println("对不起,您未能晋级,继续加油哦!");
			}
		if(flag.equals("no")) {
		System.out.println("对不起,您未能晋级,继续加油哦!");
		}
	}
}

录入用户信息(***)

package com.day4;

import java.util.Scanner;

public class MemberManager {
public static void main(String[] args) {
	//录入会员信息
	System.out.println("青鸟迷你游戏平台 >   添加用户信息\n\n");
	System.out.println("请输入要录入用户的数量");
	Scanner sc = new Scanner(System.in);
	int count = sc.nextInt();
	for(int i = 1;i<=count;i++) {
		//输入用户编号
		System.out.print("请输入用户编号(<4位整数>):\n");
		int number = sc.nextInt();
		//输入用户年龄
		System.out.print("请输入用户年龄:"+"\n");
		int age = sc.nextInt();
		//输入会员积分
		System.out.println("请输入会员积分");
		int integral = sc.nextInt();
		//打印信息
		System.out.println("您录入的会员信息是:");
		System.out.println("用户编号:"+number+"\t年龄:"+age+"\t积分:"+integral);
		if(age <= 10) {
			System.out.println("很抱歉,您的年龄不适宜玩游戏");
			System.out.println("录入信息失败");
			continue;
			
		}
		
	
	}
}
}

百钱买百鸡(********)

         雏鸡?公鸡 20 母鸡33 雏鸡是3的倍数 共100元
         公鸡/5元 母鸡/3元

package com.day4;

public class MoneyAndChicken {
	public static void main(String[] args) {
		//百钱买百鸡
		/*
		 * 雏鸡?公鸡 20 母鸡33 雏鸡是3的倍数 共100元
		 * 公鸡/5元 母鸡/3元
		 */
		int chick,cock ,hen ; //chick表示雏鸡,cock表示公鸡,hen表示母鸡
		for( cock=1;cock<=20;cock++) {
			for( hen=1;hen<=33;hen++) {
				chick = 100-cock-hen;
				if((chick%3==0)&&(5*cock+3*hen+chick/3==100)) {
					System.out.println("雏鸡的个数为:"+chick+"    公鸡的个数为:"+cock+"    母鸡的个数为:"+hen);
				}
			}
		}
	}
}

100以内倍数计算

        /**
         * 1-100内数字,既是3的倍数也是5的倍数输出:既是3的倍数也是5的倍数
         * 只是3的倍数,输出:只是3的倍数 。5的倍数类似
         *都不是的,输出:只是数字 
         */

package com.day4;

public class NumberJuge {
	public static void main(String[] args) {
		//既是三的倍数也是5的倍数
		/**
		 * 1-100内数字,既是3的倍数也是5的倍数输出:既是3的倍数也是5的倍数
		 * 只是3的倍数,输出:只是3的倍数 。5的倍数类似
		 *都不是的,输出:只是数字 
		 */
		for(int i =1;i<=100;i++) {
			if(i%3==0) { //判断是3的倍数
				System.out.println("只是3的倍数"+i);
			}else if(i%5==0) {
				System.out.println("只是5的倍数"+i);
			}else {
				System.out.println("只是数字"+i);
			}
			if(i%3==0&&i%5==0) {
				System.out.println("既是3的倍数也是5的倍数"+i);
			}
			
		}
	}
}

求和 1-100之间所有不能被7整除的数,并求和,四个打印一行

package com.day4;

public class NumberSum {
	public static void main(String[] args) {
		//求和 1-100之间所有不能被7整除的数,并求和
		//四个打印一行
		int sum = 0;
		for (int i = 1; i <=100; i++) {
			if(i%7!=0) {
				sum = sum+i;
				System.out.print(i+" ");
			}
			if(i%4 ==0) {
				System.out.println();
			}
		}
		System.out.println("1-100之间所有不能被7整除的数之和为:"+sum);
	}
}

打印菱形(***************)

打印菱形 输入 打印行数  和输入要打印的* 的个数(奇数)

/*
             * 菱形打印三要点:
             * 1.确定打印的行数为奇数  row/2+1
             * 2.确定打印需要输出的空格  row/2+1-i 打印空格 i是指需要打印的行数
             * 3.确定打印的*个数  2*i-1  
             */

package com.text;

import java.util.Scanner;

public class PrintLingxing {
	public static void main(String[] args) {
		System.out.println("请输入菱形行数:");
		Scanner sc = new Scanner(System.in);
		int row = sc.nextInt();
		while(row%2==0) {
			System.out.println("请输入奇数:");
			row = sc.nextInt();
		}
		/*开始打印菱形*/
		for(int i=0;i<row/2+1;i++) {
			for(int j=0;j<row/2+1-i;j++) {
				System.out.print(" ");
			}
			for(int k = 0;k<2*i-1;k++) {
				System.out.print("*");
			}
			System.out.println();
			
		}
		/*打印倒菱形*/
		for(int i=row/2+1;i>0;i--) {
			for(int j=0;j<row/2+1-i;j++) {
				System.out.print(" ");
			}
			for(int k = 0;k<2*i-1;k++) {
				System.out.print("*");
			}
			System.out.println();
			
		}
	}
	
}

打印九九乘法表(****)

package com.day4;

public class PrintMuliTable {
	public static void main(String[] args) {
		//打印99乘法表
		for (int i = 1; i <= 9; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(i+"*"+j+"="+(i*j)+"  ");
			}
			System.out.println();
		}
	}
}

打印矩形(****)

package com.day4;

public class PrintRectangle {
	public static void main(String[] args) {
		//循环打印矩形
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 6; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

打印倒三角(*****)

package com.day4;

import java.util.Scanner;

public class PrintTriangle {
	public static void main(String[] args) {
		//打印倒三角形
		System.out.println("请输入倒三角形的行数:");
		Scanner sc = new Scanner(System.in);
		int row = sc.nextInt();
		for(int i = row;  i >= 0; i --) { //控制行数
			for (int j = 0; j <= i; j ++) {//控制*数
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

打印三角形(*****)

package com.day4;

import java.util.Scanner;

public class PrintTriangle2 {
	public static void main(String[] args) {
		// 打印三角形
		System.out.println("请输入三角形的行数:");
		Scanner sc = new Scanner(System.in);
		int row = sc.nextInt();
		for (int i = 0; i < row; i++) { // 控制行数
			for (int j = 0; j < 2 * i + 1; j++) {// 控制*数
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

打印等腰三角形(******)

package com.day4;

import java.util.Scanner;

public class PrintTriangle3 {
	public static void main(String[] args) {
		// 打印三角形
		System.out.println("请输入等腰三角形的行数:");
		Scanner sc = new Scanner(System.in);
		int row = sc.nextInt();
		for (int i = 0; i < row; i++) { // 控制行数
			for (int k = row; k > i; k--) { // 控制空格数
				System.out.print(" ");
			}
			for (int j = 0; j < 2 * i + 1; j++) {// 控制*数
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

统计打折商品的数量(*****)

3名顾客购物,每人买3件商品 商品单价300元以上8折优惠 统计每个人享受打折优惠商品的的数量

package com.day4;

import java.util.Scanner;

public class ShoppingDiscount {
	public static void main(String[] args) {
		/*
		 * 统计打折商品的数量  3名顾客购物,每人买3件商品 商品单价300元以上8折优惠 统计每个人享受打折优惠商品的的数量
		 */
		Scanner sc = new Scanner(System.in);

		int price;
		for (int i = 1; i <= 3; i++) { // 购物人数
			int count = 0;// 每个人打折的数量
			System.out.println("请输入第" + i + "个人所购的三件商品的价格:");
			for (int j = 0; j < 3; j++) { // 商品价格
				price = sc.nextInt();
				if (price > 300) {
					count++;
					continue;
				}
				// System.out.println();
				// System.out.println("内层循环-------"+"第"+i+"个人共有"+(count)+"件商品享受8折优惠");
			}
			System.out.println("第" + i + "个人共有" + (count) + "件商品享受8折优惠");

		}
	}
}

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值