Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算用户定义年数内四个季度的降雨量_Java - Fatal编程技术网

Java 计算用户定义年数内四个季度的降雨量

Java 计算用户定义年数内四个季度的降雨量,java,Java,我是Java新手,正在尝试做一项作业……但我现在感觉迷路了。我们还没有介绍数组,所以我们的词汇表有点有限 1.)修改当前代码,使其能够处理多年的降雨数据。为用户提供选项,以提供他们希望在计划中输入以进行评估的实际年数。该程序必须输出降雨量最多的年份(即第1年、第2年等)和总降雨量最少的年份 下面是我的代码: import java.util.Scanner; public class Test2OF { public static void main(String[] args)

我是Java新手,正在尝试做一项作业……但我现在感觉迷路了。我们还没有介绍数组,所以我们的词汇表有点有限

1.)修改当前代码,使其能够处理多年的降雨数据。为用户提供选项,以提供他们希望在计划中输入以进行评估的实际年数。该程序必须输出降雨量最多的年份(即第1年、第2年等)和总降雨量最少的年份

下面是我的代码:

import java.util.Scanner;

public class Test2OF
{
   public static void main(String[] args) 
   { 
      Scanner scan = new Scanner(System.in); 
      double[] rainfall = new double[4]; 
      double totalRainfall = 0.0; 
      double max = 0, min  = 0;
      int year = scan.nextInt();
      int maxQuarter = 1;
      int minQuarter = 1;

      // Prompt user for the number of years
      System.out.println("Enter the number of years: ");
      year = scan.nextInt();

      for (int i=0; i < year*4; i++) 
      { 
         System.out.print("Enter rainfall for quarter " + (i+1) + ": "); 
         rainfall[i] = scan.nextDouble(); 
         totalRainfall += rainfall[i]; 
         if (i == 0)
         {
            max = min = rainfall[i];
         }

         {
            if (rainfall[i] > max) {
               max = rainfall[i];
               maxQuarter = i + 1;
            }
            if (rainfall[i] < min) {
               min = rainfall[i];
               minQuarter = i + 1;
            }
         }
     }

   System.out.println("Total rainfall = "+totalRainfall); 
   System.out.println("Average rainfall = "+(totalRainfall / 4.0)); 
   System.out.println("Max quarter rainfall = "+ max);
   System.out.println("Min quarter rainfall = " + min);
   System.out.println("Max quarter rainfall = "+ maxQuarter);
   System.out.println("Min quarter rainfall = " + minQuarter);

   }//end main 
}//end class
我也不知道如何确定哪一年年底降雨量最多/最少

谢谢你的帮助!多谢各位

new double[4];  this is wrong.
若你们从用户那个里得到了大小,那个么你们为什么要初始化呢


用户提供尺寸后给出尺寸,如<代码>新双[年]

我立刻注意到的第一件事是

Int year = Scanner.nextInt();
Blahblahblah
year = Scanner.nextInt();
不要给年份赋值

Int year;
Year = scanner.nextInt();
至于其余的我不知道我是否想在这方面帮助你。帮助你是不道德的,因为这是为了学习。请注意,告诉你的教授你无法完成作业是完全可以的,他会比互联网提供更好的帮助


从iPad发送,因此请原谅拼写和大写错误

问题:

year*4
Scanner scan = new Scanner(System.in); 
  double[] rainfall; 
  double totalRainfall = 0.0; 
  double max = 0, min  = 0;
  int year = 0;
  int maxQuarter = 1;
  int minQuarter = 1;

  System.out.println("Enter the number of years: ");
  year = scan.nextInt();
  rainfall = new double[year*4]
public static void main(String[] args) 
{ 
   Scanner scan = new Scanner(System.in); 
   double[] rainfall; 
   int curyear = 0;
   double totalRainfall = 0.0; 
   double max = 0, min  = 0;
   int year = 0;
   int maxQuarter = 1;
   int minQuarter = 1;

   // Prompt user for the number of years
   System.out.println("Enter the number of years: ");
   year = scan.nextInt();
   rainfall = new double[year*4];
   for (int i=0; i < year*4 + 1; i++) 
   { 
       if((i % 4) == 0 && i != 0)
       {
            System.out.println();
            System.out.println("YEAR: " + ++curyear );
            System.out.println("Total rainfall = "+totalRainfall); 
            System.out.println("Average rainfall = "+(totalRainfall / 4.0)); 
            System.out.println("Max quarter rainfall = "+ max);
            System.out.println("Min quarter rainfall = " + min);
            System.out.println("Max quarter rainfall = "+ maxQuarter);
            System.out.println("Min quarter rainfall = " + minQuarter);
            System.out.println();
            if(i == (year*4))
                break;
       }

      System.out.print("Enter rainfall for quarter " + (i+1) + ": "); 
      rainfall[i] = scan.nextDouble(); 
      totalRainfall += rainfall[i]; 
      if (i == 0)
      {
         max = min = rainfall[i];
      }

      {
         if (rainfall[i] > max) {
            max = rainfall[i];
            maxQuarter = i + 1;
         }
         if (rainfall[i] < min) {
            min = rainfall[i];
            minQuarter = i + 1;
         }
      }


  }



}//end main 
您的
降雨量
只有4号,这意味着它只适合有4个季度的1年

解决方案:

year*4
Scanner scan = new Scanner(System.in); 
  double[] rainfall; 
  double totalRainfall = 0.0; 
  double max = 0, min  = 0;
  int year = 0;
  int maxQuarter = 1;
  int minQuarter = 1;

  System.out.println("Enter the number of years: ");
  year = scan.nextInt();
  rainfall = new double[year*4]
public static void main(String[] args) 
{ 
   Scanner scan = new Scanner(System.in); 
   double[] rainfall; 
   int curyear = 0;
   double totalRainfall = 0.0; 
   double max = 0, min  = 0;
   int year = 0;
   int maxQuarter = 1;
   int minQuarter = 1;

   // Prompt user for the number of years
   System.out.println("Enter the number of years: ");
   year = scan.nextInt();
   rainfall = new double[year*4];
   for (int i=0; i < year*4 + 1; i++) 
   { 
       if((i % 4) == 0 && i != 0)
       {
            System.out.println();
            System.out.println("YEAR: " + ++curyear );
            System.out.println("Total rainfall = "+totalRainfall); 
            System.out.println("Average rainfall = "+(totalRainfall / 4.0)); 
            System.out.println("Max quarter rainfall = "+ max);
            System.out.println("Min quarter rainfall = " + min);
            System.out.println("Max quarter rainfall = "+ maxQuarter);
            System.out.println("Min quarter rainfall = " + minQuarter);
            System.out.println();
            if(i == (year*4))
                break;
       }

      System.out.print("Enter rainfall for quarter " + (i+1) + ": "); 
      rainfall[i] = scan.nextDouble(); 
      totalRainfall += rainfall[i]; 
      if (i == 0)
      {
         max = min = rainfall[i];
      }

      {
         if (rainfall[i] > max) {
            max = rainfall[i];
            maxQuarter = i + 1;
         }
         if (rainfall[i] < min) {
            min = rainfall[i];
            minQuarter = i + 1;
         }
      }


  }



}//end main 
您需要计算指定年份数的季度数,然后使用
year*4

示例:

year*4
Scanner scan = new Scanner(System.in); 
  double[] rainfall; 
  double totalRainfall = 0.0; 
  double max = 0, min  = 0;
  int year = 0;
  int maxQuarter = 1;
  int minQuarter = 1;

  System.out.println("Enter the number of years: ");
  year = scan.nextInt();
  rainfall = new double[year*4]
public static void main(String[] args) 
{ 
   Scanner scan = new Scanner(System.in); 
   double[] rainfall; 
   int curyear = 0;
   double totalRainfall = 0.0; 
   double max = 0, min  = 0;
   int year = 0;
   int maxQuarter = 1;
   int minQuarter = 1;

   // Prompt user for the number of years
   System.out.println("Enter the number of years: ");
   year = scan.nextInt();
   rainfall = new double[year*4];
   for (int i=0; i < year*4 + 1; i++) 
   { 
       if((i % 4) == 0 && i != 0)
       {
            System.out.println();
            System.out.println("YEAR: " + ++curyear );
            System.out.println("Total rainfall = "+totalRainfall); 
            System.out.println("Average rainfall = "+(totalRainfall / 4.0)); 
            System.out.println("Max quarter rainfall = "+ max);
            System.out.println("Min quarter rainfall = " + min);
            System.out.println("Max quarter rainfall = "+ maxQuarter);
            System.out.println("Min quarter rainfall = " + minQuarter);
            System.out.println();
            if(i == (year*4))
                break;
       }

      System.out.print("Enter rainfall for quarter " + (i+1) + ": "); 
      rainfall[i] = scan.nextDouble(); 
      totalRainfall += rainfall[i]; 
      if (i == 0)
      {
         max = min = rainfall[i];
      }

      {
         if (rainfall[i] > max) {
            max = rainfall[i];
            maxQuarter = i + 1;
         }
         if (rainfall[i] < min) {
            min = rainfall[i];
            minQuarter = i + 1;
         }
      }


  }



}//end main 
编辑:

year*4
Scanner scan = new Scanner(System.in); 
  double[] rainfall; 
  double totalRainfall = 0.0; 
  double max = 0, min  = 0;
  int year = 0;
  int maxQuarter = 1;
  int minQuarter = 1;

  System.out.println("Enter the number of years: ");
  year = scan.nextInt();
  rainfall = new double[year*4]
public static void main(String[] args) 
{ 
   Scanner scan = new Scanner(System.in); 
   double[] rainfall; 
   int curyear = 0;
   double totalRainfall = 0.0; 
   double max = 0, min  = 0;
   int year = 0;
   int maxQuarter = 1;
   int minQuarter = 1;

   // Prompt user for the number of years
   System.out.println("Enter the number of years: ");
   year = scan.nextInt();
   rainfall = new double[year*4];
   for (int i=0; i < year*4 + 1; i++) 
   { 
       if((i % 4) == 0 && i != 0)
       {
            System.out.println();
            System.out.println("YEAR: " + ++curyear );
            System.out.println("Total rainfall = "+totalRainfall); 
            System.out.println("Average rainfall = "+(totalRainfall / 4.0)); 
            System.out.println("Max quarter rainfall = "+ max);
            System.out.println("Min quarter rainfall = " + min);
            System.out.println("Max quarter rainfall = "+ maxQuarter);
            System.out.println("Min quarter rainfall = " + minQuarter);
            System.out.println();
            if(i == (year*4))
                break;
       }

      System.out.print("Enter rainfall for quarter " + (i+1) + ": "); 
      rainfall[i] = scan.nextDouble(); 
      totalRainfall += rainfall[i]; 
      if (i == 0)
      {
         max = min = rainfall[i];
      }

      {
         if (rainfall[i] > max) {
            max = rainfall[i];
            maxQuarter = i + 1;
         }
         if (rainfall[i] < min) {
            min = rainfall[i];
            minQuarter = i + 1;
         }
      }


  }



}//end main 
publicstaticvoidmain(字符串[]args)
{ 
扫描仪扫描=新扫描仪(System.in);
双[]降雨量;
int curyear=0;
两倍总降雨量=0.0;
双最大值=0,最小值=0;
整年=0;
int maxQuarter=1;
int minQuarter=1;
//提示用户输入年数
System.out.println(“输入年份:”);
年份=scan.nextInt();
降雨量=新的双[年*4];
对于(int i=0;i最大值){
max=降雨量[i];
maxQuarter=i+1;
}
if(降雨量[i]
雨水中的元素不足。你需要4个元素。在你知道年数之前不要计算它的大小。嘿,谢谢!我对我的代码进行了调整,我可以收集正确数量的数据(即2年=8个季度)。你知道我如何为第一至第四季度分配“第一年”,然后为第五至第八季度分配“第二年”(等等)吗。再次感谢你!别担心。我感谢你的帮助!