基础
package homeWork.themeTwo1;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int x,n;
x=sc.nextInt();
fun1(x);
n=sc.nextInt();
fun2(n);
fun3(n);
sc.close();
}
private static void fun1(int x) {
System.out.println(x+(x%2==0?"为偶数":"为奇数"));
}
private static void fun2(int n) {
double sum=0;
int temp=1;
for(int i=1;i<=n;i++) {
temp*=i;
sum+=(1/(double)temp);
}
System.out.println("结果是:"+sum);
}
private static void fun3(int n) {
double sum=0;
int temp=1;
int i=1;
while(i!=n+1){
temp*=i++;
sum+=(1/(double)temp);
}
System.out.println("结果是:"+sum);
}
}
提高1
package homeWork.themeTwo2;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入商品单价:");
double price=scanner.nextDouble();
System.out.println("请输入购买数量:");
int num=scanner.nextInt();
double sum=price*num;
if(num>10||sum>1000) {
sum*=0.85;
}else if (num>5||sum>600) {
sum*=0.9;
}
double money;
while(true) {
System.out.println("请输入收款金额:(大于应收金额"+sum+")");
money=scanner.nextDouble();
if(money>sum)break;
}
double re=money-sum;
System.out.println("应收金额:"+sum+",找零:"+re);
scanner.close();
}
}
提高2
Account类
package homeWork.themeTwo3;
public class Account {
private double money;
private String passWord;
private String payPassword;
public Account() {
super();
}
public Account(double money, String passWord,String payPassword) {
super();
this.money = money;
this.passWord = passWord;
this.payPassword = payPassword;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public String getPayPassword() {
return payPassword;
}
public void setPayPassword(String payPassword) {
this.payPassword = payPassword;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
}
Atm类
package homeWork.themeTwo3;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Atm {
private Account account=new Account(0,"123","123");
private Scanner scanner=new Scanner(System.in);
//初始界面
public void start() {
System.out.println("欢迎使用ATM");
//登录输密码
for(int i=0;i<3;i++) {
if(passwordVerify()) {
break;
}
if(i==0) {//第一次错误输入
System.out.println("密码错误,你还有"+(2-i)+"次机会");
}else if(i==1) {
System.out.println("密码错误,你还有"+(2-i)+"次机会");
}else if(i==2) {
System.out.println("密码错误,你还有"+(2-i)+"次机会");
System.out.println("密码错误3次,你的银行卡由银行保管!");
System.out.println("欢迎下次光临");
return;
}
}
//选择界面
while(true) {
System.out.println("请选择操作:1.存款;2.取款;3.查询余额;4.在线支付;0.退出");
String flag;
flag=scanner.next();
switch(flag) {
case "1":
depositMoney();
break;
case "2":
drawMoney();
break;
case "3":
searchMoney();
break;
case "4":
onlinePay();
break;
case "0":
System.out.println(flag);
System.out.println("欢迎下次光临!");
return;
default:
System.out.println("没有这个选项,请重新选择!");
break;
}
}
}
//1.存款
private void depositMoney() {
System.out.println("请输入存款金额:");
double plusMoney=scanner.nextDouble();
account.setMoney(account.getMoney()+plusMoney);
System.out.println("存款操作成功,当前账户余额为:"+String.format("%.2f", account.getMoney()));
}
//2.取款
private void drawMoney() {
System.out.println("请输入取款金额:");
double subMoney=scanner.nextDouble();
if(subMoney>account.getMoney()) {
System.out.println("账户余额不足");
return;
}
account.setMoney(account.getMoney()-subMoney);
System.out.println("取款操作成功,当前账户余额为:"+String.format("%.2f", account.getMoney()));
}
//3.查询余额
private void searchMoney() {
System.out.println("当前账户余额为:"+String.format("%.2f", account.getMoney()));
}
//4.在线支付
private void onlinePay() {
System.out.print("本次在线支付金额为:");
double payMoney=scanner.nextDouble();
if(payMoney>account.getMoney()) {
System.out.println("账户余额不足");
return;
}
System.out.println("请输入支付密码");
String pPwd=scanner.next();
if(!pPwd.equals(account.getPayPassword())?true:false) {
System.out.println("支付密码错误");
return;
}
account.setMoney(account.getMoney()-payMoney);
System.out.println("在线支付操作成功,当前账户余额为:"+String.format("%.2f", account.getMoney()));
}
//0.密码验证
private boolean passwordVerify() {
System.out.println("请输入密码:");
String pwd=scanner.next();
return pwd.equals(account.getPassWord())?true:false ;
}
}
Main类
package homeWork.themeTwo3;
public class Main {
public static void main(String[] args) {
Atm atm=new Atm();
atm.start();
}
}
提高3
在控制台打印九九乘法表,效果如图所示
package homeWork.themeTwo4;
//乘法表
public class Test {
public static void main(String[] args) {
fun();
}
private static void fun() {
for(int i=1;i<10;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
挑战
单个菱形 最长横17竖17
package homeWork.themeTwo5;
//实心棱形,空心棱形
public class Diamond {
public static void main(String[] args) {
fun1();
fun2();
}
private static void fun1() {
for(int i=1;i<10;i++) {//上三角9行,最多一行17个*
for(int j=9-i;j>0;j--)//打印每行的空格,从8个~0个
System.out.print(" ");
for(int j=0;j<(2*i-1);j++) {//打印每行的*,从1个~17个
System.out.print("* ");
}
System.out.println();//换行
}
for(int i=1;i<9;i++) {//下三角8行,最多一行15个*
for(int j=0;j<i;j++)//打印每行的空格,从1个~8个
System.out.print(" ");
for(int j=0;j<(17-2*i);j++) {//打印每行的*,从15个~1个
System.out.print("* ");
}
System.out.println();//换行
}
}
private static void fun2() {
for(int i=1;i<10;i++) {//上三角9行,最多一行17个*
for(int j=9-i;j>0;j--)//打印每行的空格,从8个~0个
System.out.print(" ");
for(int j=0;j<(2*i-1);j++) {//打印每行的*,从1个~17个
if(j==0||j==2*i-2) {
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();//换行
}
for(int i=1;i<9;i++) {//下三角8行,最多一行15个*
for(int j=0;j<i;j++)//打印每行的空格,从1个~8个
System.out.print(" ");
for(int j=0;j<(17-2*i);j++) {//打印每行的*,从15个~1个
if(j==0||j==16-2*i) {
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();//换行
}
}
}