java 。文件处理。 For循环错误

标签 java file loops for-loop processing

所以我有这个循环,它将获取一行文本并将其设置为一个字符串以供方法处理。

while (input.hasNextLine()){
    String text = input.nextLine();
    processLine(text);
}

processLine 方法是。

public static void processLine(String text) {
    Scanner data = new Scanner(text);
    while (data.hasNext()){
        String str = "hi";
        int tabCount = 0;        
        str = data.next();
        System.out.print(str + " ");
        if (str.equals("{")) {
           tabCount++;
           System.out.println();
           for (int i = 0; i < TAB_SIZE * tabCount; i++){
              System.out.print(" ");
        }
    }   
}   

发生的事情是我的 tabCount 没有增加,但它仍在执行 println。怎么会这样?这是输出。

public class Test1 { 
    public static void main( String[] args ) { 
    System.out.println( "This is Test 1." ); } } 

感谢任何帮助。

最佳答案

tabCount 变量在 while 循环 内,因此每次迭代都会重置,即它始终为 0

尝试

public static void processLine(String text) {
    Scanner data = new Scanner(text);
    int tabCount = 0;        
    while (data.hasNext()){
        String str = "hi";
        str = data.next();
        System.out.print(str + " ");
        if (str.equals("{")) {
           tabCount++;
           System.out.println();
           for (int i = 0; i < TAB_SIZE * tabCount; i++){
              System.out.print(" ");
        }
    }   
}

关于 java 。文件处理。 For循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22087039/

相关文章:

java - JTabbedPane - addTab(标题,图标,组件)+ setTabComponentAt(索引,组件)

java - 在 mallet 中为我的数据集创建自定义模式

java - 在 Android 中编辑现有文件

c++ - 在 C++ 中一直读到文件末尾

java - 文件写入的行数有最大限制吗?

loops - Golang 在带有 channel 的 goroutine 中暂停循环

java - 比较三个单独列表中的产品

java - 更改面板中的所有标签图标

c++ - 优化估计 Pi 函数 C++

loops - 遍历多个循环并计算总数