输入:
* 直径(英寸) 圈数 时间(s)
* 输出:
* trip #n: 距离(英里) 速度(英里/时)
* 所有结果 保留两位小数
这道题 不知道是哪里出错了 一直提示 ----- Wrong Answer ;
找了好久没找到原因,我测试的时候 满足需求;这是我的代码
public class PracticeI {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
DecimalFormat df = new DecimalFormat("#.00");
double da,s,ds,m;
int r,n=0;
while(sc.hasNext()){
n = n+1;
da = sc.nextDouble();
r = sc.nextInt();
if(r==0) break;
s = sc.nextDouble();
ds = (da * 3.1415927 * r)/5280/12;
s = s/3600;
m = ds / s;
System.out.println("Trip #"+n+": "+df.format(ds)+" "+df.format(m));
}
}
}
没找到原因,然后去网上搜了一下,也是用Java写的:
import java.io.BufferedInputStream;
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(new BufferedInputStream(System.in));
int index = 0;
while(cin.hasNextLine())
{
String str = cin.nextLine();
String temp[] = str.split(" ");
if(temp[1].equals("0"))
break;
index++;
float diameter = Float.parseFloat(temp[0]);
int revolutions = Integer.parseInt(temp[1]);
float time = Float.parseFloat(temp[2]);
DecimalFormat df=(DecimalFormat) DecimalFormat.getInstance();
df.applyPattern("0.00");
float len = (float)(2* 3.1415927 * (diameter/2) * revolutions)/(12*5280);
float v = len/(float)time*3600;
System.out.println("Trip #"+index+": "+df.format(len)+" "+df.format(v));
}
}
}
对比了一下, 类型不是错误的原因, 输入和格式化的时候不同。。。