郵便番号(zipcode1)を入力したら、データの中から同じ郵便番号(zipcode)の建物の名前が表示されるプログラムを作っています。
compareTo()メソッドで郵便番号(zipcode)の検索をしたいのですが、郵便番号(zipcode)のデータがうまく取り出せません。
郵便番号(zipcode)のデータだけを取り出す方法を教えてください。
ソースコードは以下の通りです。
import java.io.FileNotFoundException;
import java.io.File;
import java.util.Scanner;
class Eschool {
Eschool(String name, int zipcode, String address, String tel, double latitude, double longitude){
this.name=name;
this.zipcode=zipcode;
this.address=address;
this.tel=tel;
this.latitude=latitude;
this.longitude=longitude;
}
private String name;
private int zipcode;
private String address;
private String tel;
private double latitude;
private double longitude;
public void setName(String n) {
name = n;
}
public void setZipcode(int z){
zipcode=z;
}
public void setAddress(String a){
address=a;
}
public void setTel(String t){
tel=t;
}
public void setLatitude(double l){
latitude=l;
}
public void setLongitude(double L){
longitude=L;
}
public String getName() {
return name;
}
public int setZipcode(){
return zipcode;
}
public String getAddress(){
return address;
}
public String getTel(){
return tel;
}
public double getLatitude(){
return latitude;
}
public double getLongitute(){
return longitude;
}
public String toString(){
String str=String.valueOf(name+":"+ "〒"+zipcode+" "+address+" "+"TEL:"+tel+" "+latitude+" "+longitude);
return str;
}
}
class Rp6 {
static Eschool[] eslist = new Eschool[100];
public static void main(String[] args){
int i = 0;
try {
File file = new File("shougakkou-utf.csv"); // input the csv file name
Scanner sc = new Scanner(file);
while(sc.hasNextLine()){ // read a line from the file
String str = sc.nextLine();
String[] tmp = str.split(",", 6);
if (tmp.length == 6){
Eschool es = new Eschool(tmp[0], Integer.parseInt(tmp[1]), tmp[2], tmp[3], Double.parseDouble(tmp[4]), Double.parseDouble(tmp[5])); eslist[i] = es; // store the instance to the list i ++; } } } catch (FileNotFoundException e){ System.err.print(e); } System.out.print(eslist[1]); System.out.print("zipcode:"); String zipcode1=stdIn.nextInt(); if(zipcode1.compareTo(zipcode)==0){ System.out.println(zipcode+": "+name[]); }
}
}
実行結果が
$ java Rp6
zipcode: 4328024
4328024: 浜松市立西小学校
となるようにしたいです。
ちなみにデータはまた別のファイルであります。