public class DailyReport {
public static void main (String[] args){
try {
int c1 =0;
int c2 =0;
int c3 =0;
int c4 =0;
int c5 =0;
int total =0;
File file=new File ("InputSB.txt");
Scanner in = new Scanner (file);
int count=0;
ArrayList <Person> per = new ArrayList <Person>();
CaseList [] c = CaseList.values();
System.out.println("---------Covid-19 Cases and Actions Required---------");
for (CaseList casel: c){
System.out.printf("%-10s : %-30s%-10s%n" ,casel.toString(), casel.getCaseBg(), casel.getCaseStatus());
}
System.out.println("");
System.out.println("----------------COVID-19 CASE REPORT----------------");
System.out.printf("%-5s%-10s%-8s%-20s%-15s", "CASE", "GENDER", "AGE", "BACKGROUND", "Status");
System.out.println("");
//ArrayList <Person> per = new ArrayList <Person> ();
while (in.hasNext()) {
String s= in.next();
int fileage=in.nextInt();
String filecase=in.next();
per.add(new Person (s,fileage));
CaseList cases = Enum.valueOf(CaseList.class, filecase);
System.out.printf("%-5d%-10s%-8s%-20s%-15s%\n", (count+1),per.get(count).getGender(),per.get(count).getAge()
,cases.getCaseBg(), cases.getCaseStatus());
switch(cases){ //()
case CASE1: ++c1;
break;
case CASE2: ++c2;
break;
case CASE3: ++c3;
break;
case CASE4: ++c4;
break;
case CASE5: ++c5;
break;
default: break;
}
count++;
}
in.close();
System.out.println("\nTotal in Quarantine = " + (c1+c2));
System.out.println("Total in ICU = " + c3);
System.out.println("Total Warded = " + c4);
System.out.println("Total Recovered = " + c5);
total = (c1+c2+c3+c4+c5);
System.out.println("Total Cases = " +total);
}
catch(Exception e)
{
System.out.println("File is not found");
}
}
}
//this is what printstacktrace gets
java.util.UnknownFormatConversionException: Conversion = '
'
at java.base/java.util.Formatter.checkText(Formatter.java:2732)
at java.base/java.util.Formatter.parse(Formatter.java:2718)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.io.PrintStream.format(PrintStream.java:1139)
at java.base/java.io.PrintStream.printf(PrintStream.java:1035)
at DailyReport.main(DailyReport.java:57)
//line57
System.out.printf("%-5d%-10s%-8s%-20s%-15s%\n", (count+1),per.get(count).getGender(),per.get(count).getAge()
,cases.getCaseBg(), cases.getCaseStatus()); //line58
Используя всего лишь "input.txt", я могу, по крайней мере, запустить остальную часть своего кода. Используя что-либо еще, например, абсолютный путь к файлу, или folder / input.txt и другие, он дает мне второй результат, который не найден в непосредственном файле.
Мои java файлы и файл input.txt находится в той же папке.
Итак, я открыл файл java, где я читаю в файле .txt, и все идет хорошо, и все работает соответственно, пока я не переместлю мои файлы java и файл .txt ВСЕ от моего НАСТОЛЬНОГО ПАПКИ НА МОЙ НАСТОЛЬНЫЙ.
Внезапно он продолжает выдавать мне исключение не найденного файла. В моем коде не должно быть ничего плохого, так как он работал отлично, пока я не переместил все это в новую папку.
File file = new file ("input.txt");
Scanner in = new Scanner (file);
Дело в том, что с кодом не должно быть ничего плохого, поскольку он прекрасно работал, когда все было на моем рабочем столе. Но когда я переместил его в папку, все пошло под гору.
Может кто-нибудь сказать мне, если у них такая же проблема? Я использую macOS, так что, может быть, это что-то.