所以我试图读取本地.txt文件,然后使用toString方法打印出文件。我必须有两个文件,主要和另一个类。我已经在第二节课中建立了我的toString,现在我尝试在主要课程中调用它。这是示例代码:
public class Hmwk {
public static void main(String[] args) {
String fileName = "input.txt";
File inputFile = new File(fileName);
try {
Scanner input = new Scanner(inputFile);
while(input.hasNextLine()) {
}
input.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
public class Locations {
private String cityName;
private double latitude;
private double longitude;
public Locations(String theCityName, double latitude, double longitude){
setCityName(theCityName);
setLat(latitude);
setLong(longitude);
}
public void setCityName(String thecityName) {
thecityName = cityName.trim();
}
public void setLat(double latitude) {
this.latitude = latitude;
}
public void setLong(double longitude) {
this.longitude = longitude;
}
public String getCityName() {
return cityName;
}
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
public String toString() {
String result = String.format("City: %s (%d , %d )", cityName, latitude, longitude);
return result;
}
}
我的while循环需要读取该行(我也失去了这里)。首先是城市作为一个字符串然后经纬度为双倍。我在这方面绊倒了,因为我需要这样做并使用toString打印出文件。我不知道如何在不使用阵列的情况下做到这一点。有人能指出我正确的方向吗?
答案 0 :(得分:1)
假设你的文本文件在每一行都有城市信息,这就是你要追求的吗?
while(input.hasNextLine()){
String cityName = input.next();
double latitude = input.nextDouble();
double longitude = input.nextDouble();
Locations loc = new Locations(cityName, latitude, longitude);
System.out.println(loc); // automatically calls Locations's toString method
}
答案 1 :(得分:0)
input.nextLine()
会返回包含该行的String
,然后您可以根据需要将其打印或转换为Locations
对象。