我是Java的新手,我遇到了困难,我有一项任务要求我加载一个文本文件,其中包含一个状态名称,后跟其资金到程序中,并将状态名称读入一个数组和大写名称到另一个数组。我解决这个问题的方法是将文本文件加载到一个名为total的数组中并进行计数。我希望将具有偶数位置的那些分成一个名为capital的独立数组,而将那些位于奇数位置的数组分成一个名为states的数组。但我不确定如何将其放入代码中。这就是我到目前为止所拥有的
文本文件示例:
Alabama
Montgomery
Alaska
Juneau
Arizona
Phoenix
Arkansas
Little Rock
California
Sacramento
Colorado
Denver
Connecticut
Hartford
Delaware
Dover
Florida
Tallahassee
Georgia
Atlanta
Hawaii
Honolulu
到目前为止我的代码
public class StateCapitals
{
/**
* @param args the command line arguments
* @throws java.io.FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException
{
File inputfile;
File outputfile;
inputfile = new File("capitals.txt");
outputfile = new File ("InOrder.txt");
String stateandcity;
int count;
count = 1;
PrintWriter pw;
Scanner kb;
kb = new Scanner(inputfile);
String [] total;
total = new String[100];
String [] capitals;
capitals = new String[50];
String [] states;
states = new String [50];
while (kb.hasNextLine())
{
stateandcity = kb.nextLine();
System.out.println("Count: " +count + " " + stateandcity);
total[count-1] = stateandcity;
count ++;
}
if (count % 2 == 0)
states = new String [50]; //where i need help
}}
答案 0 :(得分:0)
算法将是这样的:
total
。total[i]
分配给capital[i / 2]
。total[i + 1]
分配给states[i / 2]
。就这么简单!先尝试自己做。如果您遇到困难,请发表评论!
答案 1 :(得分:0)
我会像这样阅读它们来分开它们。 (保存自己的循环)
while (kb.hasNextLine())
{
state[count] = kb.nextLine();
capitals[count] = kb.nextLine();
System.out.println("Count: " +count + " " +
state[count] + "," +
capitals[count]);
count ++;
}