我有这样的代码:
Scanner sc = new Scanner(System.in);
Scanner fc = new Scanner(new File(args[0]));
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("vystup.txt")),true);
String metoda;
int pocetVrcholu;
int pocetHran;
String hrany;
String pocatek;
if(args.length == 0){
metoda = sc.nextLine();
pocetVrcholu = sc.nextInt();
sc.nextLine();
}else{
metoda = fc.nextLine();
pocetVrcholu = fc.nextInt();
fc.nextLine();
}
grafSeznam graf = new grafSeznam(pocetVrcholu);
for(int i = 0;i<pocetVrcholu;i++){
switch(metoda.charAt(0)){
case 'M':
break;
case 'S':
if(args.length == 0){
graf.pridejVrchol(i, sc.nextLine());
}else{
graf.pridejVrchol(i, fc.nextLine());
}
break;
}
}..........
当然我不能使用这个代码像这个bcs有时我没有任何参数,程序以错误结束...有没有办法从这样的文件初始化扫描仪或我必须将整个程序分成一半并重写它(一半为sc,一半为fc)。我试图谷歌,没有找到任何解决方案.... Ty回答和抱歉变量名称不是英文。
答案 0 :(得分:0)
当然你需要验证参数的长度..
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Scanner fc;
if (args.length != 0) {
fc = new Scanner(new File(args[0]));
} else {
fc = new Scanner(new File("path_here"));
}
....
}