这是我写的代码,其实不能运行,存在许多的bug,显得很凌乱,希望有高手能够指点一下,帮我规范一下编程风格;
我是想把课程用split分隔之后装入一个String数组中,不知道可不可行??
课程表:
周一/语文/语文/数学/数学/英语/英语/物理/物理
周二/生物/生物/地理/地理/语文/数学/英语/政治
周三/化学/化学/历史/历史/体育/体育/政治/数学
周四/语文/数学/英语/物理/化学/生物/历史/地理
周五/政治/物理/化学/数学/英语/英语/数学/语文
import java.io.*;
import java.util.Scanner;
public class Kechengbiao {
public static void main(String[] args){
Kechengbiao kcb=new Kechengbiao();
     kcb.go();
    }
    
    public void go(){
     System.out.println("请选择你要做的事情:添加/修改输入1,删除输入2,显示当前课程表输入3:");
     Scanner sc=new Scanner(System.in);
if(sc.hasNext()){
int choice=Integer.parseInt(sc.next());
switch (choice) {
case 1:
System.out.println("你选择了添加/修改");
addAndChange();
break;
case 2:
System.out.println("你选择了删除");
delete();
break;
case 3:
System.out.println("当前的课程表为:");
     Read read=new Read();
     break;
default:
System.out.println("输入错误!");
break;
}

    }

    }
    public void delete() {
     System.out.println("请输入你想删除的课程:(例如星期一第2节:1/2)");
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     String buffer = null;
try {
buffer = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
     String[] result=buffer.split("/");
     int i=Integer.parseInt(result[0]);
     int j=Integer.parseInt(result[1]);
        k[i][j]=null;
} public void addAndChange(){
    
     System.out.println("请输入你想添加/修改的课程:(例如星期一第2节上数学输入1/2/数学)");
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     String buffer = null;
try {
buffer = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
     String[] result=buffer.split("/");
     int i=Integer.parseInt(result[0]);
     int j=Integer.parseInt(result[1]);
     k[i][j]=result[2];
    }
}import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;public class Read {
 public Read(){
     BufferedReader bufferedReader = null;
PrintWriter printWriter = null;

try{
bufferedReader = new BufferedReader(new FileReader("C:\\Users\\lenovo\\Desktop\\课程表.txt"));
            String[][] k=new String[5][9];
String m=bufferedReader.readLine();//存放split后的字符;
String[] l=m.split("/");
for(int i=0;i<=8;i++){  //将分隔后的字符存入字符串数组k中
int j=i/9;
int x=i%9;
k[j][x]=l[i];
while ((m = bufferedReader.readLine()) != null) {
System.out.println(m);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
    if (printWriter != null) {
printWriter.close();
}
        }
    }
 

}

解决方案 »

  1.   

    赞一个
    顶一个
    用GUI或者jsp做一个更好一点
      

  2.   

    用数据库 + jsp 就能做
      

  3.   


    import java.io.*;
    import java.util.Scanner;
    public class Kechengbiao {
    public static void main(String[] args){
    Kechengbiao kcb=new Kechengbiao();
      kcb.go();
      }
       
      public void go(){
      System.out.println("请选择你要做的事情:添加/修改输入1,删除输入2,显示当前课程表输入3:");
      Scanner sc=new Scanner(System.in);
    if(sc.hasNext()){
    int choice=Integer.parseInt(sc.next());
    switch (choice) {
    case 1:
    System.out.println("你选择了添加/修改");
    addAndChange();
    break;
    case 2:
    System.out.println("你选择了删除");
    delete();
    break;
    case 3:
    System.out.println("当前的课程表为:");
    Read read=new Read();
    break;
    default:
    System.out.println("输入错误!");
    break;
    }}  }
      public void delete() {
      System.out.println("请输入你想删除的课程:(例如星期一第2节:1/2)");
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
      String buffer = null;
    try {
    buffer = br.readLine();
    } catch (IOException e) {
    e.printStackTrace();
    }
      String[] result=buffer.split("/");
      int i=Integer.parseInt(result[0]);
      int j=Integer.parseInt(result[1]);
      k[i][j]=null;
    }public void addAndChange(){
     
      System.out.println("请输入你想添加/修改的课程:(例如星期一第2节上数学输入1/2/数学)");
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
      String buffer = null;
    try {
    buffer = br.readLine();
    } catch (IOException e) {
    e.printStackTrace();
    }
      String[] result=buffer.split("/");
      int i=Integer.parseInt(result[0]);
      int j=Integer.parseInt(result[1]);
      k[i][j]=result[2];
      }
    }import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;public class Read {
    public Read(){
      BufferedReader bufferedReader = null;
    PrintWriter printWriter = null;try{
    bufferedReader = new BufferedReader(new FileReader("C:\\Users\\lenovo\\Desktop\\课程表.txt"));
      String[][] k=new String[5][9];
    String m=bufferedReader.readLine();//存放split后的字符;
    String[] l=m.split("/");
    for(int i=0;i<=8;i++){ //将分隔后的字符存入字符串数组k中
    int j=i/9;
    int x=i%9;
    k[j][x]=l[i];
    while ((m = bufferedReader.readLine()) != null) {
    System.out.println(m);
    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    if (bufferedReader != null) {
    try {
    bufferedReader.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    if (printWriter != null) {
    printWriter.close();
    }
      }
      }
     }这样?
      

  4.   

    楼主你NJU的吧  我已经认出你是谁了哈哈