有呀
你是说执行一次就没放映了吧,那是你程序执行完就退出了, 
要想多次执行就把代码放到while循环中    while(true){
      int abcCount = 0;// 英文字母个数
      int spaceCount = 0;// 空格键个数
      int numCount = 0;// 数字个数
      int otherCount = 0;// 其他字符个数
      String str = scan.nextLine();
      char[] ch = str.toCharArray();
      for (int i = 0; i < ch.length; i++) {
        if (Character.isLetter(ch[i])) {
          // 判断是否字母
          abcCount++;
        } else if (Character.isDigit(ch[i])) {
          // 判断是否数字
          numCount++;
        } else if (Character.isSpaceChar(ch[i])) {
          // 判断是否空格键
          spaceCount++;
        } else {
          // 以上都不是则认为是其他字符
          otherCount++;
        }
      }
      System.out.println("字母个数:" + abcCount);
      System.out.println("数字个数:" + numCount);
      System.out.println("空格个数:" + spaceCount);
      System.out.println("其他字符个数:" + otherCount);
    }

解决方案 »

  1.   

    直接点击eclipse上面的绿色按钮的运行,默认运行上一次的程序。
    如果你的代码,没有右键 -> Run As -> Java Application 
    每次直接点击运行,那都是前一次的程序,不会执行你想要的Excise03 
    检查下,是否是这种情况呢
      

  2.   


    String str=scan.nextLine();
    需要输入的,输入后就能看到打印的结果了或者 给
    Scanner scan=new Scanner(System.in);
    String str=scan.nextLine(); 添加Scanner scan=new Scanner(System.in);
    System.out.println("please input");
    String str=scan.nextLine();
    提醒输入
      

  3.   

    我擦,我发现了。我得在键入字符串前面 打一个println 不然系统就停在那里等我输入字符串了 所以控制台没出现
      

  4.   


    nextLinepublic String nextLine()
    此扫描器执行当前行,并返回跳过的输入信息。 此方法返回当前行的其余部分,不包括结尾处的行分隔符。当前位置移至下一行的行首。
    因为此方法会继续在输入信息中查找行分隔符,所以如果没有行分隔符,它可能会缓冲所有输入信息,并查找要跳过的行。返回:
    跳过的行
    抛出:
    NoSuchElementException - 如果未找到这样的行
    IllegalStateException - 如果此扫描器已关闭api中关于nextLine()方法的解释,如果你是在cmd中运行可以使用ctrl+z结束输入,在eclipse中我不知道怎么结束.
      

  5.   

    嗯嗯。我知道了。在前面输入一个system.out.println我们就可以手动来结束输入!你这个解释让我更加深入的理解了nextLine