文章目录
Java基础练习
1.库房出入货物程序设计
☪任务描述
现要对华为和小米两种手机产品进行入库,本案例要求编写一个模拟商品入库的程序,可以在控制台输入入库商品的数量,最后打印出仓库中所有商品详细信息以及所有商品的总库存数和库存商品总金额。
商品信息如下:
- 品牌型号
- 尺寸
- 价格
- 配置
- 库存
- 总价
☪实现思路
(1) 查看运行结果后,可以将该程序分为3部分实现(商品入库、库存清单、总库存数与库存商品总金额)
(2) 商品入库是变化的数据,需要记录商品信息后打印,通过运行结果,我们可以分析出如下属性。
-
品牌型号:商品的名称,String类型。
-
尺寸:手机的大小,double类型。
-
价格:手机的单价,double类型。
-
配置:手机的内存等配置,String类型。
-
库存数:此项数据为用户输入的数据,用户输入需要使用Scanner类,以下代码使用户能够从System.in中读取一个数字。
Scanner sc1 = new Scanner(System.in); int Count=sc1.nextInt();
-
总价:经过计算后打印,可以设置单独的变量,double类型。
(3) 库存清单中又包含了3部分,顶部为固定的数据,直接打印;中部为变化的数据,与商品入库的数据一致,打印出所有商品的详情,底部也为固定样式,直接打印即可。
(4) 总库存数与库存商品总金额是统计操作,需经过计算后打印,可以设置两个单独的变量:
- 所有商品的库存总数:int类型。
- 库存商品总金额:double类型。
☪代码实现
package example;
import java.util.Scanner;
public class access {
public static void main(String[] args) {
/*
* 现在有两款手机华为与小米需要做入库处理,我们需要编写一个程序来实现商品的入库,
* 入库完成后,打印入库商品的详细信息并计算出入库商品的数量与入库商品总金额。
*/
// 华为手机
String huaweiBrand = "华为";
double huaweiSize = 5.5;
double huaweiPrice = 3688.88;
String huaweiConfig = "8+128g 全面刘海屏";
// 小米手机
String xiaomiBrand = "小米";
double xiaomiSize = 5.0;
double xiaomiPrice = 2988.88;
String xiaomiConfig = "4+64g 全面屏";
// 华为手机入库
System.out.println("品牌型号:" + huaweiBrand);
System.out.println("尺寸:" + huaweiSize);
System.out.println("价格:" + huaweiPrice);
System.out.println("配置:" + huaweiConfig);
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入" + huaweiBrand + "手机的库存");
int huanweiCount = sc1.nextInt();
double huaweiTotal = huanweiCount * huaweiPrice;
System.out.println("库存" + huaweiBrand + "手机的总金额:" + huaweiTotal);
// 小米手机入库
System.out.println("品牌型号:" + xiaomiBrand);
System.out.println("尺寸:" + xiaomiSize);
System.out.println("价格:" + xiaomiPrice);
System.out.println("配置:" + xiaomiConfig);
System.out.println("请输入" + xiaomiBrand + "手机的库存");
int xiaomiCount = sc1.nextInt();
double xiaomiTotal = xiaomiCount * xiaomiPrice;
System.out.println("库存" + xiaomiBrand + "手机的总金额:" + xiaomiTotal);
// 库存清单
System.out.println("------------库存清单------------");
System.out.println("品牌型号 尺寸 价格 配置 库存数量 总价");
System.out.println(huaweiBrand + " " + huaweiSize + " " + huaweiPrice + " " + huaweiConfig + " "
+ huanweiCount + " " + huaweiTotal);
System.out.println(xiaomiBrand + " " + xiaomiSize + " " + xiaomiPrice + " " + xiaomiConfig + " "
+ xiaomiCount + " " + xiaomiTotal);
System.out.println("---------------------------------");
int total = huanweiCount + xiaomiCount;
double totalMoney = huaweiTotal + xiaomiTotal;
// 总库存数量与库存总价
System.out.println("总库存:" + total);
System.out.println("库存总价:" + totalMoney + "¥");
sc1.close();
}
}
☪运行结果
2.根据身高体重计算BMI指数
☪任务描述
创建BMIexponent类,声明double型变量height来记录身高,单位为米;声明int型变量weight记录体重,单位为千克;根据BMI=体重/(身高×身高)计算BMI指数。
☪代码实现
package example;
public class BMIexponent {
public static void main(String[] args) {
double height = 1.72; // 身高变量,单位:米
int weight = 70; // 体重变量,单位:千克
double exponent = weight / (height * height); // BMI计算公式
System.out.println("您的身高为:" + height);
System.out.println("您的体重为:" + weight);
System.out.println("您的BMI指数为:" + exponent);
System.out.print("您的体重属于:");
if (exponent < 18.5) { // 判断BMI指数是否小于18.5
System.out.println("体重过轻");
}
else if (exponent >= 18.5 && exponent < 24.9) { // 判断BMI指数是否在18.5到24.9之间
System.out.println("正常范围");
}
else if (exponent >= 24.9 && exponent < 29.9) { // 判断BMI指数是否在24.9到29.9之间
System.out.println("体重过重");
}
else if(exponent >= 29.9) { // 判断BMI指数是否大于29.9之间
System.out.println("肥胖");
}
}
}
☪运行结果
3.查看字符与Unicode码互转的结果
在项目中创建类Gess,编写如下代码,将Unicode表中某些位置上的字符以及一些字符在Unicode表中的位置在控制台上输出。
☪代码实现
package example;
public class Gess {//定义类
public static void main(String []args) {//主方法
char word='d',word2='@';//定义char型变量
int p=23045,p2=45213;//定义int型变量
System.out.println("d 在 Unicode表的顺序位置是:"+(int)word);
System.out.println("@ 在 Unicode表的顺序位置是:"+(int)word2);
System.out.println("Unicode 表中的第23045位是"+(char)p);
System.out.println("Unicode 表中的第45213位是"+(char)p2);
}
}
☪运行结果
4.统计粮仓的粮食
一个圆柱形粮仓,底面直径为 10 米,高为 3 米,该粮仓体积为多少立方米?如果每立方米屯粮 750 千克,该粮仓一共可储存多少千克粮食?
☪代码实现
package example;
public class Granary {
public static void main(String[] args) {
final double PI = 3.14;
int diameter = 10;
int height = 3;
double volume = diameter/2 * diameter/2 * PI * height;
System.out.println("该粮仓的体积 = " + volume + "立方米");
int weight = 750;
System.out.println("该粮仓一共可储存" + weight * volume + "千克粮食");
}
}
☪运行结果
5.四则运算
☪代码实现
package example;
import java.util.Scanner;
public class Calculator {
public static void main(String []args) {
Scanner sc=new Scanner(System.in);//创建扫描器,获取控制台输入的数值
System.out.println("请输入两个数,用空格隔开(num1,num2):");//输入提示
double num1=sc.nextDouble();//输入的第一个数
double num2=sc.nextDouble();//输入的第二个数
System.out.println("num1+num="+(num1+num2));//计算和
System.out.println("num1-num="+(num1-num2));//计算差
System.out.println("num1*num="+(num1*num2));//计算积
System.out.println("num1/num="+(num1/num2));//计算商
sc.close();//关闭扫描器
}
}
☪运行结果
6.输出汇款单
向张三卡号为 1234567890987654321 的银行卡里汇款 10000 元,控制台输出如下所示的汇款单:
☪代码实现
package example;
public class MoneyOrder {
public static void main(String[] args) {
char family = '张'; // 姓
char name = '三'; // 名
long num = 1234567890987654321L; // 银行账号
double money = 10000; // 存款金额
System.out.println("\t中国工商银行\n");
System.out.println("---------------------------");
System.out.println(" 日期:\t2021-03-10");
System.out.println(" 户名:\t" + family + name);
System.out.println(" 账号:\t" + num);
System.out.println(" 币种:\tRMB");
System.out.println(" 存款金额:\t" + money);
System.out.println(" 存款序号:\t010");
System.out.println(" 柜员号:\t12345");
System.out.println("---------------------------");
}
}
7.判断成绩会否及格
当分数大于等于 60 时,成绩及格,否则不及格。现一学生的分数是 80 分,使用三元运算符判断这名学生的成绩能否及格。
☪代码实现
package example;
public class Passed {
public static void main(String []args) {
int score = 80; // 学生的分数
System.out.println(score >= 60 ? score + "分,成绩及格" : score + "分,成绩不及格");
}
}
☪运行结果
的成绩能否及格。
☪代码实现
package example;
public class Passed {
public static void main(String []args) {
int score = 80; // 学生的分数
System.out.println(score >= 60 ? score + "分,成绩及格" : score + "分,成绩不及格");
}
}