【问题标题】:Average of a string which has numbers stored from Scanner具有从 Scanner 存储的数字的字符串的平均值
【发布时间】:2015-11-16 17:29:34
【问题描述】:

我是编码新手,我的任务是从使用扫描仪的用户那里获取三个月的平均降雨量(11 月、12 月、1 月),然后平均三个月的降雨量。

我显然做错了什么,因为我已经将平均值初始化为一个字符串,但不知道如何初始化变量?基本上我不知道如何将用户输入的降雨结果转换为整数,如果有人可以帮助我编写代码以及如何正确平均三个月,那就太好了,谢谢!

import java.util.Scanner;
public class rainfall {

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

    String November, December, January;

    String average;

    System.out.println("what is the rainfall for November?");
    November = stdin.nextLine();

    System.out.println("what is the rainfall for December?");
    December = stdin.nextLine();

    System.out.println("what is the rainfall for January?");
    January = stdin.nextLine();

    System.out.println("the rainfall for November is: \t "  + November );
    System.out.println("the rainfall for December is: \t "  + December );
    System.out.println("the rainfall for January is: \t "  + January );

    average = November + December + January/3;
    System.out.println("The average is " + average );
  }
}

【问题讨论】:

  • 好的。您需要使用 Integer.parseInt() 将字符串解析为整数,然后使用 String.valueOf() 将 int / double 值设置回字符串。
  • 附带说明,使用小写变量名——这是 Java 和其他语言的惯例,有助于使您的程序更具可读性。即,不要写November,而是写november
  • 我明白了,这是把Strings改成ints的方法,我没想到是这样的,谢谢你的帮助。

标签: java string int java.util.scanner


【解决方案1】:

试试这个可以解决你的问题

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

        double November, December, January;

        double average;

        System.out.println("what is the rainfall for November?");
        November = stdin.nextDouble();

        System.out.println("what is the rainfall for December?");
        December = stdin.nextDouble();

        System.out.println("what is the rainfall for January?");
        January = stdin.nextDouble();

        System.out.println("the rainfall for November is: \t "  + November );
        System.out.println("the rainfall for December is: \t "  + December );
        System.out.println("the rainfall for January is: \t "  + January );

        average = (November + December + January)/3;
        System.out.println("The average is " + average );
      }

【讨论】:

  • 啊,把它改成双精度而不是字符串,谢谢
猜你喜欢
  • 2019-06-15
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多