仅允许使用java scanner进行双输入 import java.util.Scanner; 导入java.io.*; 公开课积极{ 公共静态void main(字符串args[]){ 双优先; 扫描仪扫描=新扫描仪(System.in); 系统输出打印(“请输入第一个值”+“\n”); first=scan.nextDouble(); 如果(第一个>0.00){ System.out.println(“请输入第二个值”); } else if(第一秒){ System.out.println(第一秒); } else if(第二个>第一个){ System.out.println(第二个第一个); } } }
任务: 如果该值为正值,请请求第二个值。打印这两个数字之间的差值,使差值始终为正值。例如,如果第一个值为10.3,第二个值为4.1,则打印6.2的结果。如果第一个值为3.8,第二个值为13.4,则打印结果9.6 如果读取的第一个值为负值,则打印其正等效值。例如,如果其值为–89.6,则应打印89.6 如果第一个值不是一个数字,则给出相应的错误消息(来自Java的标准错误消息(例如,“线程中的异常”main…)不起作用!请查看Java API或堆栈溢出如何处理)仅允许使用java scanner进行双输入 import java.util.Scanner; 导入java.io.*; 公开课积极{ 公共静态void main(字符串args[]){ 双优先; 扫描仪扫描=新扫描仪(System.in); 系统输出打印(“请输入第一个值”+“\n”); first=scan.nextDouble(); 如果(第一个>0.00){ System.out.println(“请输入第二个值”); } else if(第一秒){ System.out.println(第一秒); } else if(第二个>第一个){ System.out.println(第二个第一个); } } },java,Java,任务: 如果该值为正值,请请求第二个值。打印这两个数字之间的差值,使差值始终为正值。例如,如果第一个值为10.3,第二个值为4.1,则打印6.2的结果。如果第一个值为3.8,第二个值为13.4,则打印结果9.6 如果读取的第一个值为负值,则打印其正等效值。例如,如果其值为–89.6,则应打印89.6 如果第一个值不是一个数字,则给出相应的错误消息(来自Java的标准错误消息(例如,“线程中的异常”main…)不起作用!请查看Java API或堆栈溢出如何处理) 代码的其余部分运行正常,但我不知道
代码的其余部分运行正常,但我不知道如何通过使用
Scanner::nextDouble
在输入中仅包含双精度值,您强制输入仅为双精度值,但如果要使用Scanner::nextLine
则可以尝试转换为双精度值,如果失败,则打印消息
import java.util.Scanner;
import java.io.*;
public class Positive {
public static void main (String args[]) {
double first;
Scanner scan = new Scanner(System.in);
System.out.print("Please enter first value" + "\n");
first= scan.nextDouble();
if (first>0.00) {
System.out.println("Please enter second value");
}
else if (first <0.00) {
first =-first;
System.out.println(first);
System.out.println("Please enter second value");
}
double second;
Scanner scaning = new Scanner(System.in);
second = scan.nextDouble();
if (first>second) {
System.out.println(first-second);
}
else if (second>first) {
System.out.println(second-first);
}
}
}
还有,而不是做
Scanner scan = new Scanner(System.in);
System.out.println("Enter double");
String line = scan.nextLine();
double firstNum = 0.00;
try {
firstNum = Double.parseDouble(line);
}
catch (NumberFormatException e) {
System.err.println("Not a double");
}
这样做会更容易
if (first>second) {
System.out.println(first-second);
}
else if (second>first) {
System.out.println(second-first);
}
你也应该删除这一行,因为它是不必要的,你甚至没有使用它
System.out.println (Math.abs(first - second));
你是什么意思?你正在使用
nextDouble
方法读取输入,因此它将被读取为一个双精度。
Scanner scaning = new Scanner(System.in);