package com.java.sch;import java.util.*;
public class Cou {

Scanner sc = new Scanner(System.in);
@SuppressWarnings("unchecked")
public void kemu()
{
System.out.println("开始录入科目************请输入 :");
System.out.println("你要输入几门科目? 例如 一门 就输入 1 以此类推");
System.out.println("输入exit退出");
int index_a = 0 ; while(true)//为什么这里加上while下面的 ArrayList就会报错呢 而不加while就不会报错呢
{
try 
{
int index = sc.nextInt();
index_a += index;

catch (Exception e) {
e.printStackTrace();
System.out.println("别输入那些乱七八糟的字符 因为我不认识他们 - -!!");
}
}
 
Collection co = new ArrayList();// 加while就会报错 而不加while就不会报错 wht???????

int a = 1 ;
while(true)
{
System.out.println("请输入第" + (co.size()+1) +"门课程名称 : ");
String km = sc.next();
co.add(km);

if (km.equals("exit") )
{
System.out.println("欢迎下次光临");
break;
}
else if ( a == index_a )
{
break;
}
}
}

public static void main ( String [] args )
{
Cou c = new Cou ();
c.kemu();
                    //如果这里还有方法 可上面的kemu这个方法报错了 我想让他在这里关闭程序不再运行(不用线程)
                   c.A();
}}

解决方案 »

  1.   

     while(true)//  是否死循环
      

  2.   

    while(true)//为什么这里加上while下面的 ArrayList就会报错呢 而不加while就不会报错呢
            {
                try 
                {
                    int index = sc.nextInt();
                    index_a += index;
                } 
                catch (Exception e) {
                    e.printStackTrace();
                    System.out.println("别输入那些乱七八糟的字符 因为我不认识他们 - -!!");
                }
            }
    死循环
    如果这里还有方法 可上面的kemu这个方法报错了 我想让他在这里关闭程序不再运行(不用线程)
    没明白
      

  3.   

    while(true)//为什么这里加上while下面的 ArrayList就会报错呢 而不加while就不会报错呢
            {
                try 
                {
                    int index = sc.nextInt();
                    index_a += index;
                } 
                catch (Exception e) {
                    e.printStackTrace();
                    System.out.println("别输入那些乱七八糟的字符 因为我不认识他们 - -!!");
                }
            }应该是这里死循环了吧。你没有判断跳出循环,那就会一直循环执行下去。
      

  4.   

    因为你那个while没有终止条件
    是个死循环
      

  5.   

    catch (Exception e) {
      e.printStackTrace();
      System.out.println("别输入那些乱七八糟的字符 因为我不认识他们 - -!!");
    break;
    后面加个break;
      

  6.   


     while(true)//为什么这里加上while下面的 ArrayList就会报错呢 而不加while循环就不会报错呢
            {
                try 
                {
                    int index = sc.nextInt();
                    index_a += index;
                } 
                catch (Exception e) {
                    e.printStackTrace();
                    System.out.println("别输入那些乱七八糟的字符 因为我不认识他们 - -!!");
                }
            }
             
            Collection co = new ArrayList();// 上面加while就会报错 而不加while就不会报错 why???????
    还有就是 两个方法 第一个方法报错 那么我怎么才能不要他继续执行下面的第二个方法呢 (而在第一个方法报错的时候直接 close呢??)
      

  7.   

    两个方法 第一个方法报错 那么我怎么才能不要他继续执行下去呢 (而在第一个方法报错的时候直接 close呢?? 这个要怎么解决呢>>>>>>?????????????