Solution to Java FormattedOutputException
Dalam pengaturcaraan Java, kita selalunya perlu memformat output data untuk menjadikan maklumat output lebih mudah dibaca dan difahami. Walau bagaimanapun, kadangkala kita mungkin menghadapi pengecualian yang dipanggil FormattedOutputException, yang menunjukkan bahawa ralat berlaku semasa proses output terformat. Artikel ini akan memperkenalkan sebab dan penyelesaian pengecualian ini, dan memberikan contoh kod yang sepadan.
1. Analisis punca pengecualian
FormattedOutputException pengecualian biasanya berlaku apabila memformat output menggunakan kaedah format() kelas String. Apabila kami menggunakan kaedah format(), kami biasanya menghantar dalam rentetan format dan parameter yang sepadan. Walau bagaimanapun, apabila pemegang tempat dalam rentetan format tidak sepadan dengan jenis parameter sebenar, pengecualian FormattedOutputException berlaku.
2. Penyelesaian
Untuk menyelesaikan pengecualian FormattedOutputException, kita perlu memberi perhatian kepada dua perkara: pemadanan ruang letak dalam rentetan format dan parameter sebenar yang melarikan diri daripada aksara khas dalam rentetan format.
public class FormattedOutputExample { public static void main(String[] args) { String name = "Tom"; int age = 20; double height = 1.80; // 错误示例,会导致FormattedOutputException异常 System.out.format("My name is %s, age is %d, height is %f", name, age, height); // 正确示例 System.out.format("My name is %s, age is %d, height is %.2f", name, age, height); } }
Dalam kod sampel di atas, kami menggunakan tiga ruang letak dalam rentetan format: %s, %d, %f. Oleh kerana nama parameter ialah jenis rentetan, kami menggunakan "%s" sebagai pemegang tempat, umur parameter ialah jenis integer, jadi kami menggunakan "%d" sebagai pemegang tempat, ketinggian parameter ialah jenis titik terapung; jadi kami menggunakan "%f" sebagai ruang letak dan lulus ".2" untuk menunjukkan bahawa hanya dua tempat perpuluhan dikekalkan.
public class FormattedOutputExample { public static void main(String[] args) { double percentage = 0.8; // 错误示例,会导致FormattedOutputException异常 System.out.format("The percentage is %d%", percentage * 100); // 正确示例 System.out.format("The percentage is %d%%", (int)(percentage * 100)); } }
Dalam kod sampel di atas, kami mengelakkan berlakunya FormattedOutputException dengan menggunakan "%%" untuk melepaskan tanda peratus %.
3. Ringkasan
Apabila memformat output dalam Java, kita perlu memberi perhatian kepada pemadanan ruang letak dan parameter sebenar dalam rentetan format, serta penyingkiran aksara khas. Hanya apabila pemegang tempat dan jenis parameter sepadan dan aksara khas dilarikan dengan betul boleh pengecualian FormattedOutputException dapat dielakkan. Dengan menggunakan ruang letak dan aksara melarikan diri secara rasional, kami boleh mencapai output berformat yang lebih tepat dan boleh dibaca dalam pengaturcaraan Java.
Atas ialah kandungan terperinci Penyelesaian kepada pengecualian output berformat Java (FormattedOutputException). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!