import java.text.NumberFormat
import java.util.Scanner
public class Repay {
final double NLL=0.0749 //年利率
final double MLL=NLL/12 //月利率
final int MONTH=12 //付款次数
int month=1
public static void main(String[] args){
Repay rp=new Repay()
rp.payback()
}
public void payback(){
System.out.println("请输入借款金额")
//获得贷款数额
Scanner sc=new Scanner(System.in)
double debt=sc.nextDouble()
NumberFormat fn=NumberFormat.getInstance()
fn.setMaximumFractionDigits(2)
String nll=fn.format(NLL*100)+"%"
String mll=fn.format(MLL*100)+"%"
String debt_fn=fn.format(debt)
System.out.println("请选择还款方式:输入1选择等额本金还款,输入2选择等额本息还款")
int mode=sc.nextInt()
//等额本睁信金还款
if(mode==1){
System.out.println("您总共借款"+debt_fn+"还款方式:等额本金还款;还款时间:1年"+"年利率是:"+nll+"月利率"+mll)
System.out.println("分期还款明细")
double monthPincipal=debt/12 //每月应还本金
debt=monthPincipal*12
double accrualM //每月还款利息
double tm //每月还款金额
//分期还款明细
while(debt>=1){
accrualM=debt*MLL
tm=monthPincipal+accrualM
debt=debt-monthPincipal
if(debt<1){
debt=0
}
//把小数位数格式化成2位
String tm_fn=fn.format(tm)
String monthPincipal_fn=fn.format(monthPincipal)
String accrualM_fn=fn.format(accrualM)
String debt_fn2=fn.format(debt)
System.out.println("第"+month+"月没岩还款金额:"+tm_fn+" 本月应还本金:"+monthPincipal_fn+" 本月还款利息:"+accrualM_fn+" 剩余本金:"+debt_fn2)
month++
}
}
//等额本息还款
if(mode==2){
System.out.println("您总共借款"+debt_fn+"还款方式:等额本息还款;还款时间:1年"+"年利率是:"+nll+"月利率"+mll)
//等额本息还款的月还款数公式
double X=debt*MLL*(Math.pow((1+MLL), MONTH))/(Math.pow((1+MLL), MONTH)-1)
String X_fn=fn.format(X) //格式化小数位数
System.out.println("您的月还款额为:"+X_fn)
//分期还款明细
double lixiM,benjinM //月利息,月本金
System.out.println("分期还款明细")
while(debt>=1){
lixiM=debt*MLL
benjinM=X-lixiM
debt=debt-benjinM
if(debt<1){
debt=0
}
//输出
String lixiM_fn=fn.format(lixiM)
String benjinM_fn=fn.format(benjinM)
String debt_fn3=fn.format(debt)
System.out.println("第"+month+"月还款金额:"+X_fn+" 本月应还本金(即减少债务的钱):"+benjinM_fn+" 本月还款利息:"+lixiM_fn+" 剩余本金:"+debt_fn3)
month++
}
}
}
}
package ccut.lxn.BaiduKnowsimport java.io.BufferedReader
import java.io.InputStreamReader
import java.util.Random
public class RandomQuestion {
public static void main(String[] args) {
Random random = new Random()// 声明实例化一个random对象。
int a = random.nextInt(50)// 随机出现0-50间的数字。
int b = random.nextInt(50)
boolean flag = random.nextBoolean()
if (flag) {
System.out.print(a + " + " + b + " = ")
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in))// 从键侍咐盘上输入字符
try {// 抛出异常
String str = br.readLine()// 按字符搏谈者串接收,接收键盘上输入的字符
if (str.matches("\\d+")) {// 正则表达式,为了当你输入除整数外的其他字符时,报错。
int result = Integer.parseInt(str)// 把输入的字符串转成int型
if (result == a + b) {
System.out.println("right")
} else {
System.out.println("error")
}
} else {
System.out.println("请输入数字!")
}
} catch (Exception e) {
System.out.println("出现错误:----->" + e.toString())
}
} else {
System.out.print(a + " - " + b + " = ")
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in))// 从键盘上输基薯入字符
try {// 抛出异常
String str = br.readLine()// 按字符串接收,接收键盘上输入的字符
if (str.matches("\\d+")) {// 正则表达式,为了当你输入除整数外的其他字符时,报错。
int result = Integer.parseInt(str)// 把输入的字符串转成int型
if (result == a - b) {
System.out.println("right")
} else {
System.out.println("error")
}
} else {
System.out.println("请输入数字!")
}
} catch (Exception e) {
System.out.println("出现错误:----->" + e.toString())
}
}
}
}
ps:这是刚刚敲出来的,本来想优化下代码的,但是现在我要忙别的了(万分火急的),sorry,希望采纳,给我个鼓励。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)