Apa yang saya coba lakukan adalah mengambil file Java yang terlihat seperti ini
public class test1 {
public static void main ( string[] args ) {
System.out.println( "This is Test 1." );
}
}
Dan itu seharusnya menghasilkan file teks dengan spasi dan indentasi yang tepat. Sejauh ini saya bisa mendapatkan indentasi yang benar untuk baris pertama. Tapi saya mengalami masalah dengan loop for kedua yang mencetak spasi untuk tanda kurung akhir. Tanda kurung akhir dicetak ke luar seperti 3 baris pertama, bukan ke dalam. Maaf jika variabel saya membingungkan.
Ini kode saya sejauh ini
public class JavaJustifier {
public static void main( String[] args )
throws FileNotFoundException {
for( int i = 1; i < 6; i++ ) {
justifyJava( "Test" + i + ".java",
"Justified" + i + ".txt",
4 );
}
}
public static void justifyJava( String inputFileName,
String outputFileName,
int tabSize )
throws FileNotFoundException {
int counter = 0;
int counter2 = 0;
int blah = 0;
File f = new File(inputFileName);
File p = new File(outputFileName);
if (p.exists())
p.delete();
Scanner input = new Scanner (f);
PrintStream name = new PrintStream(new File(outputFileName));
while (input.hasNextLine()) {
String line = input.nextLine();
Scanner lineScan = new Scanner(line);
if (line.contains("{") == true) {
name.print("{\r\n");
counter++;
for (int i = 1; i <= counter; i++) {
for (int j = 0; j <= tabSize; j++) {
name.print(" ");
}
}
System.out.println(counter);
} else if (line.contains("}") == true) {
name.print("\r\n");
counter--;
for (int x = 1; x <= counter; x++) {
for (int y = 1; y <= tabSize; y++) {
name.print(" ");
}
}
name.print("}");
System.out.println(counter);
} else {
name.print(line);
}
}
}
Apa yang diberikannya kepada saya adalah
public class Test1
{
public static void main( String[] args )
{
System.out.println( "This is Test 1." );
}
}
Yang saya inginkan adalah ini
public class Test1
{
public static void main( String[] args )
{
System.out.println( "This is Test 1." );
}
}
if (line.contains("{") == true) {
, cukup tulisif (line.contains("{")) {
- person jlordo   schedule 16.05.2013if (line.contains("{") == true) {
Anda pada dasarnya mengabaikan teks lainnya dan hanya menangani{
. - person zEro   schedule 20.05.2013