Java 如何更改程序以接受不同的输入?
我有一个绝对值程序,现在它接受像1+1-1这样的数字,但我也需要它能够接受小数作为用户的有效输入。我还需要使用intString.matches方法。我该怎么做呢? 这是我应该重做的代码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.
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%地理解括号内的表达式,我稍微修改了我的代码,这样你们就可以理解我想做什么了