2016-09-24 3 views
-1

У меня есть программа абсолютного значения, и теперь она принимает числа, подобные 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(); 
} 
} 
+1

Попробуйте следующее: double num = Double.parseDouble (in.next()); – codemirel

+1

Что вы пробовали? Отправьте свой код! Что случилось, когда вы его запустили? Что вы ожидали вместо этого? С чем конкретно вы сталкиваетесь? – Robert

+0

Мне нужно переделать его, но idk, с чего начать. это то, что у меня есть. я знаю, что мне нужно добавить что-то вроде if (inString.matches (// d и т. д.), но im не 100% для выражений внутри круглых скобок –

ответ

0

Вы можете сделать это с

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(); 
    } 
} 
0

Вы можете принять строку, double, float, big decimal, boolean пользователя с небольшими изменениями:

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(); 
} 
} 
Смежные вопросы