这是我写的代码,其实不能运行,存在许多的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();
}
}
}
}
我是想把课程用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();
}
}
}
}
解决方案 »
- Calendar类的静态常量和set()、get()方法为什么可以改变其值
- 为什么这里没有下标越界?
- 怎样能将一个http页面内容写到文件中去?
- Java Servlet的学习重点
- 某公司笔试题.我是基本上不会做!
- 如何在JAVA GUI上嵌入系统软件,如Word
- 有没有必GridBagLayout更灵活的布局管理器 推荐几个别的吧
- 求救:覆盖ResultSet的getFloat()方法!
- 请教JAVA高手一个JBUILDER中关于GUI设计的一个问题::有分赠送
- java有么有什么计算数学公式的库啊,例如计算两个变量相关系数的类
- JTabbedPane的选项卡可以隐藏起来吗?
- 用正则从sql语句中能取出所有列名吗?
顶一个
用GUI或者jsp做一个更好一点
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();
}
}
}
}这样?