2
我要做的是取一个只包含文本并正确格式化的文件。理论上看起来很容易,但我遇到了一个问题,我不知道如何解决。这是我的代码。 TAB_SIZE是最终诠释设定为4Java文件处理。基本。文本输出错误
public static void justifyJava(String inputFileName,
String outputFileName,
int tabSize) throws FileNotFoundException {
Scanner input = new Scanner(new File(inputFileName));
String str = "hi";
int tabCount = 0;
while (input.hasNext()){
str = input.next();
System.out.print(str + " ");
if (str.equals("{")) {
tabCount++;
System.out.println();
for (int i = 0; i < TAB_SIZE * tabCount; i++){
System.out.print(" ");
}
} else if(str.equals(");")){
tabCount--;
System.out.println();
for (int i = 0; i < TAB_SIZE * tabCount; i++){
System.out.print(" ");
}
} else if(str.equals("}")) {
tabCount--;
System.out.println();
for (int i = 0; i < TAB_SIZE * tabCount; i++){
System.out.print(" ");
}
}
}
}
因此,这段代码的一对夫妇我要处理的文件的伟大工程,但是当在连续循环是二卡住。
class Test3 {
public static void main(String[ ] args) {
for(int i = 1; i < 10; i ++) {
System.out.println("Hello World!");
}
for(int i = 1; i < 10; i ++) {
for(int j = 1; j < 10; j ++) {
for(int k = 1; k < 10; k ++) {
System.out.println("Hello World!");
}
}
}
if(3 < 5) {
System.out.println("Hello World!");
}
else if (4 < 5) {
System.out.println("Hello World!");
if(5 > 3) {
System.out.println("Hello World!");
}
}
}
}
我明白,问题是,“}”,它是减少的空格数,但我怎样才能得到它后检查,如果下一个标记是“为(”无扫描仪实际移动到“对于(“所以它仍然会打印,当我再次运行时?我将不得不建立一个新的扫描仪或重新组织代码?任何帮助表示赞赏