练习小程序
1.用Scanner类进行人——机信息交互
package com.test0;
import java.util.Scanner;
/**
* @author HeJun-Qi
* @data 2021/7/5 20:28
* 用户给定半径计算圆的面积和周长,并在控制面板显示结果
*/
public class test1 {
public static void main(String[] args){
Scanner input=new Scanner(System.in); //获取Scanner对象,用来支持接收用户输入的功能
System.out.println("请输入半径:"); //提示信息
//String s=input.next(); //让用户输入并接收到输入的值
int r=input.nextInt();
double pai=3.14;
double area=pai*r*r;
double perimeter=2*pai*r;
System.out.println("半径:"+r+"面积:"+area+"周长:"+perimeter);
}
}
2.输入三个数用If嵌套结构对三个数进行由大到小的排序
package com.test0;
import java.util.Scanner;
/**
* @author HeJun-Qi
* @data 2021/7/5 20:41
* 输入三个数并对三个数进行由大到小的排序
*/
class test2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("你输入的三个数是:");
double a = input.nextDouble();
double b = input.nextDouble();
double c = input.nextDouble();
System.out.println("a为" + a + "b为" + b + "c为" + c);
if (a > b) {
if(b>c){
System.out.println("a" + ">" + "b" + ">" + "c");
}else if(b<c){
if(a>c){
System.out.println("a" + ">" + "c" + ">" + "b");
}else if(c>a){
System.out.println("c" + ">" + "a" + ">" + "b");
}
}
} else if (a < b) {
if(a>c){
System.out.println("b" + ">" + "a" + ">" + "c");
}else if(a<c){
if(b>c){
System.out.println("b" + ">" + "c" + ">" + "a");
}else if(c>b){
System.out.println("c" + ">" + "b" + ">" + "a");
}
}
}
}
}
3.equals()方法对字符串相等进行判断
package com.test0;
import java.util.Scanner;
/**
* @author HeJun-Qi
* @data 2021/7/5 22:04
* 字符串判断相等,用" ".equals()
*/
public class test3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入性别:"+"请输入成绩");
String sex = input.next();
int score = input.nextInt();
if (score >= 90 && score <= 100) {
if ("男".equals(sex)) {
System.out.println("奖励一个黑色台灯");
} else if ("女".equals(sex)) {
System.out.println("奖励粉红色玩偶一个");
}
}else if(score<90 && score>=80){
if ("男".equals(sex)) {
System.out.println("奖励一个练习本");
} else if ("女".equals(sex)) {
System.out.println("奖励一个橡皮");
}
}
else {
System.out.println("没有奖励");
}
}
}
4.获取随机数的两种方法
package com.test0;
import java.util.Random;
/**
* @author HeJun-Qi
* @data 2021/7/6 9:23
* 获取随机数
*/
public class test5 {
public static void main(String[] args){
//方法一 Math.Random方法()
//double ra=Math.random(); //Math.random()随机产生0~1不包括1的double类型的浮点数
//System.out.println(ra);
//System.out.println((int)(ra*100)); //用(int)(ra*100),强制将浮点型数据转换为int型数据
//double b=Math.random();
//System.out.println(b*100); //产生一个0~100的浮点型随机数
//方法二 Random类
//Random e=new Random(); //引入Randon类
//double re=e.nextDouble(); //用nextDouble()产生一个0~1的随机浮点型数
//System.out.println(re*100); //产生0~100的随机浮点型数
Random i=new Random(); //Random()括号里是种子数,当种子唯一确定后,产生的随机数也就唯一确定了
int b=i.nextInt(100); //产生一个0~100的整型随机数
System.out.println();
}
}
5.Switch结构
package com.test0;
/**
* @author HeJun-Qi
* @data 2021/7/5 22:41
* switch结构
*/
public class test4 {
public static void main(String[] args){
int place=3;
switch(place){
case 1:
System.out.println("奖励一个笔记本"); //变量的数据类型必须和case后面的数据类型一样
break; //中断,当case1执行后,就不再执行后面的case了,直接跳出switch
case 2:
System.out.println("奖励一个ipal");
break;
case 3:
System.out.println("奖励一个智能手表");
break;
default: //当所有case都不满足时,就执行default的内容
System.out.println("没有奖励");
break;
}
}
}
6.用Random类随机产生一个大写字母
package com.test0;
import java.util.Random;
/**
* @author HeJun-Qi
* @data 2021/7/6 19:39
* 随机产生一个大写字母
*/
public class test6 {
public static void main(String[] args){
Random Random1=new Random();
int num=Random1.nextInt(26);
String data[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
if (num<=26){
int i;
i=num;
System.out.println(++num);
System.out.println(data[i]);
}
}
}
7.水果店收银系统
package com.test0;
import java.util.Scanner;
/**
* @author YanSh-He
* @data 2021/7/12 20:31
* 水果店收银系统1.2优化版
*/
public class test7 {
public static void main(String[] args){
Scanner input=new Scanner(System.in); //引入Scanner类,进行人机交互
String fruit1="樱桃"; //水果名
double price1=15.98; //水果单价
String num1="1001"; //水果编号
String fruit2="椰子";
double price2=9.8;
String num2="1002";
String fruit3="葡萄";
double price3=12.69;
String num3="1003";
double total=0;
for(;;) {
System.out.println("请输入水果编号:"); //提示
String num = input.next(); //在控制面板手动输入水果编号
System.out.println("请输入水果数量:"); //在控制面板手动输入水果数量
double quantity = input.nextDouble();
//System.out.println("您实际支付的金额为:");
//int giveMoney=input.nextInt();
if (num1.equals(num)) { //判断顾客所填写的编号是否为num1
System.out.println("您购买的是:" + fruit1); //输出购买的水果名
double totalMoney = (price1) * quantity; //计算这一种总价
System.out.println("您需要支付金额为:" + totalMoney); //提示并输出需要支付的金额
total=totalMoney+total; //计算总共需要支付的钱
System.out.println("是否还有购买的水果,1是,0否"); //选择是否还有购买的水果需要结算
int choose1=input.nextInt();
if(choose1==1){
continue;
}
if(choose1==0){
System.out.println("您需要支付金额为:" + total); //提示并输出需要支付的金额
System.out.println("您实际支付的金额为:"); //提示用户实际支付的金额
int giveMoney = input.nextInt(); //手动输入用户实际支付的金额
double backMoney = giveMoney - total; //计算找零
System.out.println("找零" + backMoney); //输出找零
break;
}
/** System.out.println("您需要支付金额为:" + totalMoney); //提示并输出需要支付的金额
System.out.println("您实际支付的金额为:"); //提示用户实际支付的金额
int giveMoney = input.nextInt(); //手动输入用户实际支付的金额
double backMoney = giveMoney - totalMoney; //计算找零
System.out.println("找零" + backMoney); //输出找零*/
} else if (num2.equals(num)) {
System.out.println("您购买的是:" + fruit2);
double totalMoney = (price2) * quantity;
System.out.println("您需要支付金额为:" + totalMoney);
total=totalMoney+total; //计算总共需要支付的钱
System.out.println("是否还有购买的水果,1是,0否"); //选择是否还有购买的水果需要结算
int choose1=input.nextInt();
if(choose1==1){
continue;
}
if(choose1==0){
System.out.println("您需要支付金额为:" + total); //提示并输出需要支付的金额
System.out.println("您实际支付的金额为:"); //提示用户实际支付的金额
int giveMoney = input.nextInt(); //手动输入用户实际支付的金额
double backMoney = giveMoney - total; //计算找零
System.out.println("找零" + backMoney); //输出找零
break;
}
/** System.out.println("您实际支付的金额为:");
int giveMoney = input.nextInt();
double backMoney = giveMoney - totalMoney;
System.out.println("找零" + backMoney);*/
} else if (num3.equals(num)) {
System.out.print("您购买的是:" + fruit3);
double totalMoney = (price3) * quantity;
System.out.println("您需要支付金额为:" + totalMoney);
total=totalMoney+total; //计算总共需要支付的钱
System.out.println("是否还有购买的水果,1是,0否"); //选择是否还有购买的水果需要结算
int choose1=input.nextInt();
if(choose1==1){
continue;
}
if(choose1==0){
System.out.println("您需要支付金额为:" + total); //提示并输出需要支付的金额
System.out.println("您实际支付的金额为:"); //提示用户实际支付的金额
int giveMoney = input.nextInt(); //手动输入用户实际支付的金额
double backMoney = giveMoney - total; //计算找零
System.out.println("找零" + backMoney); //输出找零
break;
}
/** System.out.println("您实际支付的金额为:");
int giveMoney = input.nextInt();
double backMoney = giveMoney - totalMoney;
System.out.println("找零" + backMoney);*/
} else {
System.out.println("编码错误,请重新输入正确的编码");
}
}
}
}
8.掷色子猜大小系统
package com.test0;
import java.util.Random;
import java.util.Scanner;
/**
* @author HeJun-Qi
* @data 2021/7/6 21:49
* 掷色子猜大小系统
*/
public class test8 {
public static void main(String[] args){
Random random1=new Random();
int result=random1.nextInt(6);
Scanner input=new Scanner(System.in);
System.out.println("请输入您的猜想:");
String guess=input.next();
System.out.println("随机点数是:" + (result));
int finalResult=result+1;
System.out.println("最终点数是:" + finalResult);
if(finalResult<=3 && finalResult>=1){
if("小".equals(guess)){
System.out.println("恭喜你猜想正确!");
}else if("大".equals(guess)){
System.out.println("很遗憾你猜想错误!");
}
}else if(finalResult<=6 && finalResult>=4){
if("小".equals(guess)){
System.out.println("很遗憾你猜想错误!");
}else if("大".equals(guess)){
System.out.println("恭喜你猜想正确!");
}
}
}
}
9. ATM系统
package com.test0;
import java.util.Scanner;
/**
* @author YanShu-He
* @data 2021/7/26 3:27
* FunctionDescription 改进版:增加了简易的安全防盗模式,输错密码3次今日账户将冻结,于次日凌晨00:00解冻;
*/
public class test11 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //引入Scanner类,进行人机交互
String card1 = "1001"; //卡号1
String card2 = "1002"; //卡号2
String card3 = "1003"; //卡号3
int balance1 = 1000; //卡1的余额
int balance2 = 2000; //卡2的余额
int balance3 = 3000; //卡3的余额
String password1 = "qwe123@"; //卡1的密码
String password2 = "qwe456@"; //卡2的密码
String password3 = "qwe789@"; //卡3的密码
for (; ; ) { //无限循环结构,当输入卡号与密码不对应就循环
System.out.println("请输入卡号:"); //提示输入卡号
String card = input.next(); //输入卡号
if (card1.equals(card)) { //判断如果输入的卡号与卡1的卡号相同就执行if里面的程序
System.out.println("请输入对应密码:"); //提示输入卡1的密码
String password = input.next(); //输入卡1的密码
for(int i=1;i<=3;i++) {
if (password1.equals(password)) { //判断如果输入的密码是卡1的密码1,就执行if里面的内容
System.out.println("请选择取款还是存款:"); //提示请选择取款还是存款
String choose = input.next(); // 输入请选择取款或者存款
if ("withDrawMoney".equals(choose)) { // 判断如果输入的是withDrawMoney就执行if里面的程序
System.out.println("您目前账户余额为:" + balance1); //输出您目前账户余额为
System.out.println("请输入取款金额:"); //提示输入取款金额
int withDrawAmount = input.nextInt(); //输入取款金额
System.out.println("取款成功!"); //提示取款成功!
balance1 = balance1 - withDrawAmount; //计算取款后您账户余额
System.out.println("取款后您账户余额为:" + balance1); //输出取款后您账户余额
break; //跳出无限循环结构,程序结束
} else if ("deposit".equals(choose)) { //判断如果输入的是deposit就执行if里面的程序
System.out.println("您目前账户余额为:" + balance1); //输出您目前账户余额为
System.out.println("请输入存款金额:"); //提示输入存款金额
int depositAmount = input.nextInt(); //输入存款金额
System.out.println("存款成功!"); //提示存款成功!
balance1 = balance1 + depositAmount; //计算存款后您账户余额
System.out.println("存款后您账户余额为:" + balance1); //输出存款后您账户余额
break; //跳出无限循环结构,程序结束
}
} else { //如果密码不是卡1的密码
if(i==3){
System.out.println("密码输入错误3次,今日不可在输入:");
break;
}else {
System.out.println("注意如果密码输入错误3次则今日不可在输入!");
System.out.println("密码输入错误,你还可以输入" + (3-i) + "次密码");
System.out.println("请重新输入正确的密码!"); //输出密码错误,请输入正确的密码
String passwordAgain = input.next();
password = passwordAgain;
}
}
}
break;
} else if (card2.equals(card)) { //判断如果输入的卡号与卡2的卡号相同就执行if里面的程序
System.out.println("请输入对应密码:");
String password = input.next();
for(int i=1;i<=3;i++) {
if (password2.equals(password)) {//判断如果输入的密码是卡2的密码2,就执行if里面的内容
System.out.println("请选择取款还是存款:");
String choose = input.next();
if ("withDrawMoney".equals(choose)) { //取款
System.out.println("您目前账户余额为:" + balance2);
System.out.println("请输入取款金额:");
int withDrawAmount = input.nextInt();
System.out.println("取款成功!");
balance2 = balance2 - withDrawAmount;
System.out.println("取款后您账户余额为:" + balance2);
break;
} else if ("deposit".equals(choose)) { //存款
System.out.println("您目前账户余额为:" + balance2);
System.out.println("请输入存款金额:");
int depositAmount = input.nextInt();
System.out.println("存款成功!");
balance2 = balance2 + depositAmount;
System.out.println("存款后您账户余额为:" + balance2);
break;
}
} else { //如果密码不是卡2的密码就结束本次循环
if(i==3){
System.out.println("密码输入错误3次,今日不可在输入:");
break;
}else {
System.out.println("注意如果密码输入错误3次则今日不可在输入!");
System.out.println("密码输入错误,你还可以输入" + (3-i) + "次密码");
System.out.println("请重新输入正确的密码!");//输出密码错误,请输入正确的密码
String passwordAgain = input.next();
password = passwordAgain;
}
}
}
break;
} else if (card3.equals(card)) { // //判断如果输入的卡号与卡3的卡号相同就执行if里面的程序
System.out.println("请输入对应密码:");
String password = input.next();
for(int i=1;i<=3;i++) {
if (password3.equals(password)) { //判断如果输入的密码是卡3的密码3,就执行if里面的内容
System.out.println("请选择取款还是存款:");
String choose = input.next();
if ("withDrawMoney".equals(choose)) { //取款
System.out.println("您目前账户余额为:" + balance3);
System.out.println("请输入取款金额:");
int withDrawAmount = input.nextInt();
System.out.println("取款成功!");
balance3 = balance3 - withDrawAmount;
System.out.println("取款后您账户余额为:" + balance3);
break;
} else if ("deposit".equals(choose)) { //存款
System.out.println("您目前账户余额为:" + balance3);
System.out.println("请输入存款金额:");
int depositAmount = input.nextInt();
System.out.println("存款成功!");
balance3 = balance3 + depositAmount;
System.out.println("存款后您账户余额为:" + balance3);
break;
}
} else{ //如果密码不是卡3的密码就结束本次循环
if(i==3) {
System.out.println("密码输入错误3次,今日不可在输入:");
break;
}else{
System.out.println("注意如果密码输入错误3次则今日不可在输入!");
System.out.println("密码输入错误,你还可以输入" + (3-i) + "次密码");
System.out.println("请重新输入正确的密码!"); //输出密码错误,请输入正确的密码
String passwordAgain=input.next();
password=passwordAgain;}
}
}
break;
} else {
System.out.println("卡号错误,请输入正确的卡号!");
}
}
}
}
注:由于当时未学习到方法,所以有很多代码未能用方法调用导致重复编写