问题描述
我已经写到目前为止从我目前的基本阵列知识工作,但我只是不知道如何使用ArrayList,或如何从文件中读取。什么到目前为止,我已经写的作品。任何链接或建议,以帮助解决我的code从文件中读取和使用ArrayList会大大AP preciated。谢谢你。
公共类TestPackages
{
公共静态无效的主要(字串[] args)
{
包testPackages =新包(); testPackages.addPacket(1001,7.37,CA);
testPackages.addPacket(1002,5.17,CT);
testPackages.addPacket(1003,11.35,纽约);
testPackages.addPacket(1004,20.17,MA);
testPackages.addPacket(1005,9.99,FL);
testPackages.addPacket(1006,14.91,VT);
testPackages.addPacket(1007,4.97,TX); 的System.out.println(testPackages);
}
}-------------------------------------------------- -----------------------------------------
-------------------------------------------------- -----------------------------------------进口java.util.Scanner中;
进口java.io. *;
进口的java.util.ArrayList;公共类套餐
{
私人包[]发货;
私人诠释计数;
私人双totalWeight; 公共包()
{
出货=新的数据包[100];
计数= 0;
totalWeight = 0.0;
} 公共无效addPacket(INT的ID号,双重量,字符串州)
{
如果(计数== shipment.length)
INCREASESIZE(); 装运[计数] =新的数据包(IDNumber中,体重,状态);
totalWeight + =体重;
算上++;
} 公共字符串的toString()
{
字符串报告; 报告=所有数据包的\\ n;
对于(INT NUM = 0; NUM<计数; NUM ++)
报告+ =装运[NUM]的ToString()+\\ n; 报告+ =总重量:\\ t+ totalWeight +英镑;
返回报告;
} 私人无效INCREASESIZE()
{
分组[] TEMP =新的数据包[shipment.length * 2]; 对于(INT NUM = 0; NUM< shipment.length; NUM ++)
临时[NUM] =装运[NUM] 出货=温度;
}
}-------------------------------------------------- -----------------------------------------
-------------------------------------------------- -----------------------------------------公共类包
{
私人诠释的ID号;
私人双权重;
私人字符串状态; 众包(INT的ID号,双重量,字符串州)
{
this.idNumber =的ID号;
this.weight =体重;
this.state =状态;
} 公共布尔isHeavy(双重)
{
返回(重量大于10);
} 公共布尔isLight(双重)
{
收益率(体重7;);
} 公共字符串的toString()
{
字符串描述=身份证号+的ID号+\\ tWegiht:+重+\\ TSTATE:
+状态; 返回描述;
}
}
有很多方法可以读取在Java文件里逐行。但是,我使用 utils的preFER。它提供从文件中读取一个非常有用的工具。这是一个行的例子。
列表<串GT;线= FileUtils.readLines(新文件(文件名));
What I have written so far works from my current knowledge of basic arrays, but I just don't understand how to use an arraylist, or how to read from a file. What I have written so far works. Any links or advice to help fix my code to read from a file and use an arraylist would be greatly appreciated. Thank you.
public class TestPackages
{
public static void main (String[] args)
{
Packages testPackages = new Packages();
testPackages.addPacket(1001, 7.37, "CA");
testPackages.addPacket(1002, 5.17, "CT");
testPackages.addPacket(1003, 11.35, "NY");
testPackages.addPacket(1004, 20.17, "MA" );
testPackages.addPacket(1005, 9.99, "FL");
testPackages.addPacket(1006, 14.91, "VT");
testPackages.addPacket(1007, 4.97, "TX");
System.out.println(testPackages);
}
}
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
import java.util.Scanner;
import java.io.*;
import java.util.ArrayList;
public class Packages
{
private Packet[] shipment;
private int count;
private double totalWeight;
public Packages()
{
shipment = new Packet[100];
count = 0;
totalWeight = 0.0;
}
public void addPacket (int idNumber, double weight, String state)
{
if(count == shipment.length)
increaseSize();
shipment[count] = new Packet (idNumber, weight, state);
totalWeight += weight;
count++;
}
public String toString()
{
String report;
report = "All Packets\n";
for(int num = 0; num < count; num++)
report += shipment[num].toString() + "\n";
report += "Total Weight:\t" +totalWeight+" pounds";
return report;
}
private void increaseSize()
{
Packet[] temp = new Packet[shipment.length * 2];
for (int num = 0; num < shipment.length; num++)
temp[num] = shipment[num];
shipment = temp;
}
}
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
public class Packet
{
private int idNumber;
private double weight;
private String state;
public Packet(int idNumber, double weight, String state)
{
this.idNumber = idNumber;
this.weight = weight;
this.state = state;
}
public boolean isHeavy(double weight)
{
return (weight > 10);
}
public boolean isLight(double weight)
{
return (weight < 7);
}
public String toString()
{
String description = "ID number: " + idNumber + "\tWegiht: " + weight + "\tState: "
+ state;
return description;
}
}
There are many ways to read a file line by line in java. But I prefer using commons-io utils. It's a very useful tool that provide reading from a file. Here is a one line example.
List<String> lines = FileUtils.readLines(new File(fileName));
这篇关于如何从.txt文件中读取并把数据放到一个对象的数组列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!