大佬,救救孩子吧
麻烦大佬看看下面的哪里错了import java.util.Scanner;
public class pta{
public static void main(String[] args){
double x;
double y;
Scanner myscanner = new Scanner(System.in);
x = myscanner.nextDouble();
if( x < 5 ){
y = x + 5;
String s = String.format("%.3d",y);
System.out.println("y=" + s);
}
else if(x >= 5 && x < 10){
y=x * x + x * 0.3;
String s = String.format("%.3d",y);
System.out.println("y=" + s);
}
else (x >= 10){
y=x * 5 - 10;
String s = String.format("%.3d",y);
System.out.println("y=" + s);
}
}
} 问题出在第26行,else语句的格式不正确。在else语句后面不应该再跟一个条件,应该直接跟着代码块。正确的写法是将else (x >= 10)改为else。修改后的代码如下:
import java.util.Scanner;
public class pta {
public static void main(String[] args) {
double x;
double y;
Scanner myscanner = new Scanner(System.in);
x = myscanner.nextDouble();
if (x < 5) {
y = x + 5;
String s = String.format("%.3f", y);
System.out.println("y=" + s);
} else if (x >= 5 && x < 10) {
y = x * x + x * 0.3;
String s = String.format("%.3f", y);
System.out.println("y=" + s);
} else {
y = x * 5 - 10;
String s = String.format("%.3f", y);
System.out.println("y=" + s);
}
}
}
此外,还有一个小问题是在使用String.format方法时,应该使用"%.3f"而不是"%.3d"来格式化浮点数。 感谢大佬的帮助
页:
[1]