老师出一题目 要求用所学java基础 就是简单数据类型转换 和Scanner数据录入 和打印语法 计算任意两数 得出的结果必须四舍五入 保留小数点后两位数 我做的如下import java.util.Scanner;
public class cb
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
double sr,sr2;
System.out.println("请输入一个数字");
sr=sc.nextDouble();
System.out.println("请输入一个数字");
sr2=sc.nextDouble();
double a=sr/sr2;
int b=(int)(a*1000);
float c=(float)b/1000;
int d=(int)(a*100);
float f=(float)d/100;
float g=(c-f)*2;
int h=(int)(g*100);
float k=(float)h/100;
float jg=f+k;
System.out.println(jg);
}
}
本来很好,但是 出了个问题 当 第一个数字输入254 第二个数字用到62的时候 结果出现严重问题 请高手帮我解释下 并修改
你做四舍五入的想法有点复杂呢..
我做这样的修改..
import java.util.Scanner;
public class cb
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
double sr,sr2;
System.out.println("请输入一个数字");
sr=sc.nextDouble();
System.out.println("请输入一个数字");
sr2=sc.nextDouble();
double a=sr/sr2;
int b = (int)(a*1000);
int c=b%10;
int d=c/5;
float e = (b-c+d*10)/1000f;
System.out.println(e);
}
}
改下输出格式就行了、
import java.util.Scanner;
public class Test
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
double sr,sr2;
System.out.println("请输入一个数字");
sr=sc.nextDouble();
System.out.println("请输入一个数字");
sr2=sc.nextDouble();
double a=sr/sr2;
int b=(int)(a*1000);
float c=(float)b/1000;
int d=(int)(a*100);
float f=(float)d/100;
float g=(c-f)*2;
int h=(int)(g*100);
float k=(float)h/100;
float jg=f+k;
System.out.printf("%.2f", jg);
}
}
import java.util.Scanner;
public class ss {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
double sr,sr2;
System.out.println("请输入一个数字");
sr=sc.nextDouble();
System.out.println("请输入一个数字");
sr2=sc.nextDouble();
double a=sr/sr2;
System.out.printf("%.2f", a);
}
}