Java 如何更改程序以接受不同的输入?

Java 如何更改程序以接受不同的输入?,java,string,int,Java,String,Int,我有一个绝对值程序,现在它接受像1+1-1这样的数字,但我也需要它能够接受小数作为用户的有效输入。我还需要使用intString.matches方法。我该怎么做呢? 这是我应该重做的代码 import java.util.Scanner; public class absolutevalue { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.

我有一个绝对值程序,现在它接受像1+1-1这样的数字,但我也需要它能够接受小数作为用户的有效输入。我还需要使用intString.matches方法。我该怎么做呢? 这是我应该重做的代码

    import java.util.Scanner;

public class absolutevalue {
 public static void main(String[] args) {
  Scanner input = new Scanner(System.in);  

  System.out.print(" Type in a number  ");
  String inStr = input.nextLine();

  if (inStr.matches("//d"))
   System.out.println("The absolute value is" +inStr);
  else
    System.out.println("not even close");
   input.close();
 }
}
你可以用它来做

Float num = input.nextFloat();
您的代码将是这样的

import java.text.DecimalFormat;
import java.util.Scanner;

public class AbsoluteValue {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print(" Type in a number  ");
        Float num = input.nextFloat();

        if (num < 0) {
            num = num * -1;
        }

        System.out.println("The absolute value is " + num);
        input.close();
    }
}
导入java.text.DecimalFormat;
导入java.util.Scanner;
公共阶级绝对价值{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
系统输出打印(“输入一个数字”);
Float num=input.nextFloat();
if(num<0){
num=num*-1;
}
System.out.println(“绝对值为”+num);
input.close();
}
}

您可以从用户处接受字符串、双精度、浮点数、大十进制、布尔值,只需少量更改,如:

import java.util.Scanner;
public class absolutevalue {
 public static void main(String[] args) {
  Scanner input = new Scanner(System.in);  

  System.out.print(" Type in a number  ");
  int num = input.nextInt(); // for Int.
  String str = input.next(); // for String.
  String str = input.nextLine(); // for line of String.
  double num = input.nextDouble(); // for double.
  float str = input.nextFloat(); // for float.

  if (num <0){
    num = num * -1;
  }

  System.out.println("The absolute value is " + num);
   input.close();
 }
}
import java.util.Scanner;
公共阶级绝对价值{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
系统输出打印(“输入一个数字”);
int num=input.nextInt();//用于int。
String str=input.next();//表示字符串。
String str=input.nextLine();//表示字符串行。
double num=input.nextDouble();//表示双精度。
float str=input.nextFloat();//表示浮点。

if(num Try this:double num=double.parseDouble(in.next());到目前为止您尝试了什么?发布您的代码!运行它时发生了什么?您期望发生什么?您具体遇到了什么问题?我必须重做它,但我知道从何处开始。这就是我所拥有的。我知道我需要放置类似if(inString.matches(//d等)的内容但是我并不是100%地理解括号内的表达式,我稍微修改了我的代码,这样你们就可以理解我想做什么了