java - 我的 Java 程序意外终止

标签 java hashmap

一旦缓冲读取器获取测试用例值并创建 HashMap ,程序就会终止。它不进入循环。谁能解释为什么?

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

class anagram {

public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int testcases = Integer.parseInt(br.readLine());
HashMap <String, Integer> mymap = new HashMap < String, Integer >();
for(int entry = 97; entry < 123; entry++){  
    String ekey = String.valueOf((char)entry);
    mymap.put(ekey , 0);
}

for( int loop1 = 1; loop1 == testcases; loop1++){

    String a = br.readLine();
    String b = br.readLine();

    System.out.println(a);
    System.out.println(b);


}   
}
}

最佳答案

你的 for循环是错误的。它只会在 testCases 为 1 时循环一次。

试试这个:

for( int loop1 = 0; loop1 < testCases; ++loop1 )

仅供引用 - 从 1 开始没有错一直到<= numIterations ,但是一般的编程约定是从值 0 开始直到< numIterations因为这就是数组的工作方式(第一个元素位于索引 0 ,然后第 10 个元素位于索引 9 )。

关于java - 我的 Java 程序意外终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16890603/

相关文章:

java - 有了HashMap和Concurrent HashMap,WeakHashMap有什么用?

java - 在 ActionListener 中调用对象不起作用,但在对象类 main 中起作用

java - 确定fx :id of a pressed button

java - String IdentityHashMap 与 HashMap 性能对比

java - 将 HashMap 转换为 Clojure 映射的执行方式与 java 调用不同

java - 如何在java中检查1是质数并且Hashmap的输出对于String类型是错误的

java - P 作为泛型中的占位符

java - spring boot classnotfound org.springframework.boot.Bootstrapper 凝视应用程序时

java - 如何在 java 中等待一组线程 'really' 完成?

java - 无法让我的 for 循环给我 HashMap 中最不常见的字母