Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅允许使用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 - Fatal编程技术网

仅允许使用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 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或堆栈溢出如何处理) 代码的其余部分运行正常,但我不知道

任务: 如果该值为正值,请请求第二个值。打印这两个数字之间的差值,使差值始终为正值。例如,如果第一个值为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);