import java.util.HashMap;
import java.util.Scanner;
public class Milage {
HashMap CityName = new HashMap();
private int[][] milage;
public int SetCityName(){
Scanner mc = new Scanner(System.in);
int i = 0;
String s = new String();
s = mc.nextLine();
while( true) {
if( s.equals("###")) {
break;
}else {
CityName.put(s, i);
i++;
s = mc.nextLine();
}
}
mc.close();
return i;
}
public void SetInt(int n) {
Scanner sc = new Scanner(System.in);
int miter;
milage = new int[n][n];
for( int i=0; i<n; i++) {
for( int j=0; j<n; j++) {
miter = sc.nextInt();
milage[i][j] = miter;
}
}
sc.close();
}
public int Getmil(String a,String b) {
int f = CityName.get(a);
int s = CityName.get(b);
return milage[f][s];
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner in = new Scanner(System.in);
Milage m = new Milage();
int n1 = m.SetCityName();
m.SetInt(n1);
String name1 = in.next();
String name2 = in.next();
System.out.println(m.Getmil(name1, name2));
in.close();
}
}
输入:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Milage.SetInt(Milage.java:30)
at Milage.main(Milage.java:50)
错误语句 30:for( int i=0; i<n; i++) {
错误语句 50:String name1 = in.next();
debug到for的时候就报错了