如何在我的代码中添加一个名为categories的新数组,并将其与保存到数组中的文本文件中的代码一起打印出来



现在我想在代码中添加一个名为"category"的新数组。我应该添加一个数组,并可以让它与我的其他代码一起打印出来。我已经为2014年的类别尝试了if语句。它告诉我没有语法错误,但没有打印任何内容。我还想格式化我的代码,使它们都在列中,看起来井然有序。我试了几种方法,但都没有改变。我现在说的没有格式,没有那么重要,但如果有人能帮忙,我们将不胜感激。

enter code here
/**
* Write a program to calculate the average category, pressure, and wind 
speed of Atlantic hurricanes that have occurred between a given year 
range. Also, tally the number of storms in each category according to the 
Saffir-Simpson scale.
*
* Steven Liu
* 10/25/2019
*/
import java.util.Scanner;      
import java.io.IOException;
import java.io.PrintWriter;
import java.io.File;
import java.text.DecimalFormat;
public class HurricaneSelector
{
public static void main(String[] args) throws IOException
{
Scanner in = new Scanner (System.in);
File fileName = new File ("hurricanedata.txt");
Scanner inFile = new Scanner(fileName);
int totalYear;
System.out.println("What year do you want from 1995 - 2015(e.g. 
2004 2005): ");
int startYear = in.nextInt();
int endYear = in.nextInt();
totalYear = endYear - startYear;
int Arrays;
int counter = 0;
while (inFile.hasNextLine()) 
{
inFile.nextLine();
counter++;
}
inFile.close ();
int finalSpeed = 0;
int [] year = new int[counter];
String [] month = new String[counter];
String [] name = new String[counter];
int [] pressure = new int[counter];
int [] windSpeed = new int[counter];
int index = 0; 
int [] category = new int[]{1, 2, 3, 4, 5};

inFile = new Scanner(fileName);
while (inFile.hasNext())
{
year[index] = inFile.nextInt();
month[index] = inFile.next();
pressure[index] = inFile.nextInt();
windSpeed[index] = inFile.nextInt();
name[index] = inFile.next();
finalSpeed += windSpeed[index];
index++;
}
double windSpeedMPH;
double winds;
if (startYear == 1995)
{
for (int n = 0; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 1996)
{
for (int n = 11; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 1997)
{
for (int n = 20; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 1998)
{
for (int n = 23; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 1999)
{
for (int n = 33; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2000)
{
for (int n = 41; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2001)
{
for (int n = 49; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2002)
{
for (int n = 58; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2003)
{
for (int n = 62; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2004)
{
for (int n = 69; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2005)
{
for (int n = 78; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2006)
{
for (int n = 93; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2007)
{
for (int n = 98; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2008)
{
for (int n = 104; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2009)
{
for (int n = 112; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2010)
{
for (int n = 115; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2011)
{
for (int n = 127; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2012)
{
for (int n = 134; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2013)
{
for (int n = 144; year[n] < endYear + 1; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}
else if (startYear == 2014)
{
for (int n = 146; year[n] <= endYear; n++)
{
windSpeedMPH = windSpeed[n] * 1.15078;
if(windSpeedMPH < 96)
{
category[n] = category [0];
}
else if (windSpeedMPH< 111)
{
category[n] = category [1];
}
else if (windSpeedMPH< 130)
{
category[n] = category [2];
}
else if (windSpeedMPH < 157)
{
category[n] = category [3];
}
else if (windSpeedMPH > 156)
{
category[n] = category [4];
}
System.out.printf("%d     %-10s%8d%17d%17.2f%n", year[n], name[n], category[0], pressure[n], windSpeed[n] * 1.15078);
}
}
else if (startYear == 2015)
{
for (int n = 52; year[n] <= endYear; n++)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
}  
}
}

预期的输出应该是这样的(中间应该是类别,我为示例输出输入了随机数。类别的实际数字显示在我的代码中,数组在开头,if语句在2014部分(:

2011     Irene     3   942     120.83189999999999
2011     Katia     4   942     138.09359999999998
2011     Maria     1   983     80.5546
2011     Nate      1   994     74.80069999999999
2011     Ophelia   4   940     138.09359999999998
2011     Philippe  3   976     92.0624
2011     Rina      2   966     115.07799999999999
2012     Chris     2   974     86.3085
2012     Ernesto   1   973     97.8163
2012     Gordon    4   965     109.32409999999999
2012     Isaac     2   965     80.5546
2012     Kirk      4   970     103.57019999999999
2012     Leslie    4   968     80.5546
2012     Michael   4   964     115.07799999999999
2012     Nadine    4   978     92.0624
2012     Rafael    2   969     92.0624
2012     Sandy     4   940     115.07799999999999
2013     Humberto  3   979     92.0624
2013     Ingrid    5   983     86.3085
2014     Arthur    3   973     97.8163
2014     Bertha    2   998     80.5546
2014     Cristobal 2   965     86.3085
2014     Edouard   4   955     120.83189999999999
2014     Fay       3   983     80.5546
2014     Gonzalo   4   940     143.8475
int n=0;
while(year[n]<=endYear)
{
if(year[n]>=startYear)
{
System.out.println(year[n] + "     " + name[n] + "     " + pressure[n] + "     " + windSpeed[n] * 1.15078);
windSpeedMPH = windSpeed[n] * 1.15078;
}
n++;
}

不太确定你在要求什么,但是您应该将if-else嵌套语句改为循环,而不是

最新更新