【问题标题】:How to use a number given in a string to calculate the absolute value?如何使用字符串中给定的数字来计算绝对值?
【发布时间】:2016-09-23 13:29:01
【问题描述】:

所以我正在编写一个程序,要求用户输入一个数字,然后返回该数字的绝对值。我的程序应该允许 + 或 - 号。 (或无)还有一个带或不带小数点的数字。

由于我是初学者,我不想使用任何高级方法。

我写了一些我不确定我是否在正确的轨道上的东西。 你可以看到我想如何在我的代码中计算绝对值。

我遇到的问题:如何提取字符串中给出的数字并使用该数字计算 abs 值?

================================================ ============================

import java.util.Scanner;

public class AValue {
  public static void main(String[] args) {
  Scanner input = new Scanner(System.in);
  System.out.println("Enter a number:");
  String num = input.nextLine();

  if (num.matches("[+-][\\d].[\\d]" ) )
    //calculation
    System.out.println("The absolute value ");
  else if (num.matches("[+-][\\d]" ) )
    //calculation
    System.out.println("The absolute value of " + num + " is ");
  else if (num.matches("[\\d]" ) )
    //calculation
    System.out.println("The absolute value of " + num + " is ");
  else if (num.matches("[\\d].[\\d]" ) )
    //calculation
    System.out.println("The absolute value of " + num + " is ");
  else
    System.out.println("Invalid number.");

  //x = x * x;
  //x = sqrt(x);

  }
}

【问题讨论】:

  • 使用Double.parse 然后Math.abs
  • 如果您只想使用字符串,只需检查第一个 simbol 是否为 '-' 并通过 String.remove() 将其删除
  • 你是什么意思。请举个例子
  • Math.abs(Double.parseDouble(num));

标签: java absolute-value


【解决方案1】:

使用此代码

Scanner input = new Scanner(System.in);
double number = input.nextDouble();
System.out.println(Math.abs(number));

【讨论】:

    【解决方案2】:

    您不必提取任何东西,只需将String输入转换为Double并在其上应用Math.Abs,这是内置的绝对值方法。 (https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html)

    看看这个:

    Scanner input = new Scanner(System.in);
    double num = Double.parseDouble(in.next());
    System.out.println(Math.abs(num));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多