1. 闰年判断程序
2. 完成收银柜台收款程序V2.0
3. 完成收银柜台收款程序V3.0
4. 完成成绩等级输出程序
5. 完成命令解析程序
1 闰年判断程序
1.1 问题
闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。
地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年。公历的平年(非闰年)只有365日,比回归年短约0.2422 日,所余下的时间约为四年累计一天,故每四
年则于2月加1天,使当年的历年长度为366日,这一年就为闰年。但是,如果按照每四年一个闰年计算,平均每年就要多算出0.0078java入门课件天,这样经过四百年就会多算出大约3天来,因此,每四百年中要减少三个闰年。所以规定,公历年份是 100 的倍数的,必须同时也是400的倍数,才是闰年;不是400的倍数的,虽然是100的倍数,也是平年。这就是通常所说的:四年一闰,百年不闰,四百年再闰。 例如,2000年是闰年,1900年则是平年。
本案例需要使用交互的方式判断某年是否为闰年:用户从控制台输入需要判断的年份值,由程序判断该年是否为闰年,并将判断结果输出到控制台。程序交互过程如图-1所示:
图-1
1.2 方案
首先,此案例需要从控制台接收用户录入的年份值,使用 Scanner 类的相应方法即可接收控制台的录入;
其次,根据闰年的规则可以总结出,如果年份可以被 400 整除,则必然是闰年;另外,如果年份可以被 4 整除,但是不能被 100 整除,则也是闰年;其他年份则是平年(非闰年)。因此,需要使用取余运算符(%)判断整除,并需要使用逻辑运算符来构建判断表达式,以进行判断。
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:定义类及 main方法
首先定义一个名为 LeapYear的类,并在类中添加 main方法。代码如下所示:
public class LeapYear {
public static void main(String[] args) {
}
}
步骤二:读取控制台的输入
在main方法中,实例化Scanner类,并调用Scanner类的nextInt() 方法接收用户从控制台输入的年份数值,使用完毕后将scanner对象关闭。代码如下所示:
#cold_boldimport java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
#cold_bold Scanner scanner = new Scanner(System.in);
#cold_bold System.out.println("请输入年份(例如:2012)");
#cold_bold int year = Int();
#cold_bold scanner.close();
}
}
步骤三:闰年判断
某年份只需要满足下列两个条件之一,即可认定是闰年:
∙ 年份可以被 4 整除且不能被 100 整除;
∙ 年份可以被400 整除。
因此,需要使用 % 运算符、== 运算符、!= 运算符、&& 和 || 运算符,来综合判断某年份是否为闰年。代码如下所示:
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份(例如:2012)");
int year = Int();
scanner.close();
#cold_bold boolean isLeapYear = (year % 4 == 0 && year % 100 != 0)
#cold_bold || year % 400 == 0;
}
}
步骤四:输出结果
使用三目运算符,构建表示判断结果的 String 类型信息,并输出到控制台。代码如下所示:
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份(例如:2012)");
int year = Int();
scanner.close();
boolean isLeapYear = (year % 4 == 0 && year % 100 != 0)
|| year % 400 == 0;
#cold_bold String msg = isLeapYear ? year + "是闰年" : year + "不是闰年";
#cold_bold System.out.println(msg);
}
}
1.4 完整代码
本案例的完整代码如下所示:
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份(例如:2012)");
int year = Int();
scanner.close();
boolean isLeapYear = (year % 4 == 0 && year % 100 != 0)
|| year % 400 == 0;
String msg = isLeapYear ? year + "是闰年" : year + "不是闰年";
System.out.println(msg);
}
}
2 完成收银柜台收款程序V2.0
2.1 问题
编写一个收银柜台收款程序。根据商品单价、购买数量以及收款金额计算并输出应收金额和零;当总价大于或等于500时,享受8折优惠。控制台交互情况如图-2所示。
图- 2
2.2 方案
本案例的实现方案如图-3所示。图中T表示true,F表示false。
图- 3
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:定义类及 main方法
首先定义一个名为 Cashier的类,并在类中添加Java应用程序的主方法main,代码如下所示:
public class Cashier {
public static void main(String[] args) {
}
}
步骤二:读取控制台输入
在main方法中,实例化Scanner类,并调用Scanner类的nextDouble() 方法接收用户从控制台输入的商品单价、购买数量、收款金额,使用完毕后将scanner对象关闭,以释放资源。代码如下所示:
#cold_boldimport java.util.Scanner;
public class Cashier {
public static void main(String[] args) {
#cold_bold // 输入数据
#cold_bold Scanner console = new Scanner(System.in);
#cold_bold System.out.println("请输入单价(¥):");
#cold_bold double unitPrice = Double();
#cold_bold System.out.println("请输入数量:");
#cold_bold double amount = Double();
#cold_bold System.out.println("请输入金额(¥):");
#cold_bold double money = Double();
#cold_bold console.close();
}
}
在此需要注意导入Scanner类所在的包。
步骤三:计算所购商品总价并判断是否打折
首先,计算商品的总价;然后,使用if语句判断商品总价是否大于等于500,如果大于等于500,商品总价打八折;最后,计算打八折后的应收金额,代码如下所示:
import java.util.Scanner;
public class Cashier {
public static void main(String[] args) {
// 输入数据
Scanner console = new Scanner(System.in);
System.out.println("请输入单价(¥):");
double unitPrice = Double();
System.out.println("请输入数量:");
double amount = Double();
System.out.println("请输入金额(¥):");
double money = Double();
console.close();
#cold_bold // 计算商品总价
#cold_bold double totalPrice = 0.0;
#cold_bold totalPrice = unitPrice * amount;
#cold_bold if (totalPrice >= 500) {
#cold_bold totalPrice = totalPrice * 0.8;
#cold_bold }
}
}
步骤四:计算零并输出结果
首先,将收款金额减去应收金额,即为零;然后,输出应收金额和零金额,代码如下所示:
import java.util.Scanner;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论