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();
}}
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();
}}
{
try
{
int index = sc.nextInt();
index_a += index;
}
catch (Exception e) {
e.printStackTrace();
System.out.println("别输入那些乱七八糟的字符 因为我不认识他们 - -!!");
}
}
死循环
如果这里还有方法 可上面的kemu这个方法报错了 我想让他在这里关闭程序不再运行(不用线程)
没明白
{
try
{
int index = sc.nextInt();
index_a += index;
}
catch (Exception e) {
e.printStackTrace();
System.out.println("别输入那些乱七八糟的字符 因为我不认识他们 - -!!");
}
}应该是这里死循环了吧。你没有判断跳出循环,那就会一直循环执行下去。
是个死循环
e.printStackTrace();
System.out.println("别输入那些乱七八糟的字符 因为我不认识他们 - -!!");
break;
后面加个break;
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呢??)