📄 list1.java
字号:
/**
*@Author handazhi
*@version 1.3
*Write for list!
*/
import java.io.*;
import java.util.*;
//需要和GUI相结,看一下printList()and getFieName()
class List1{
/* Standard input stream */
private static BufferedReader stdIn =
new BufferedReader(new InputStreamReader(System.in));
/* Standard output stream */
private static PrintWriter stdOut =
new PrintWriter(System.out, true);
/* Standard error stream */
private static PrintWriter stdErr =
new PrintWriter(System.err, true);
private static String [] name = new String [5];
private static int [] times = new int [5];
private static int [] steps = new int [5];
private String sname = "";
private static String fileName = "";
/**
*@param a string for initialization
*
*/
List1(String sname){
this.sname = sname;
}
List1(){}
String readFromFile(){
String s = "",line = "";
try{
BufferedReader fileIn =
new BufferedReader(new FileReader(getFileName()));// need modifying
while(line!=null){
line = fileIn.readLine();
if(line==null){
break;//xinjia!
}
s += line;
}
fileIn.close();
}catch(IOException ioe){
System.out.println("error1");//!
}
catch(Exception e){
System.out.println("error2");//!
System.exit(0);
}
return s;
}
void initializationarrays(){
StringTokenizer bigToken = new StringTokenizer(readFromFile(),"_");
//bigToken must like this "name1_name2..." as a string
//namei is not really neae ,it is like "name steps times "as a string.
for(int i = 0;bigToken.hasMoreTokens();i++){
name[i] = bigToken.nextToken();
// System.out.println("name["+i+"]"+name[i]);
}
//StringTokenizer smallToken = new StringTokenizer(readFromFile()," ")
for (int j = 0, t=0,s = 0;j<name.length;j++){
StringTokenizer smallToken = new StringTokenizer(name[j]," ");
smallToken.nextToken();
for(;smallToken.hasMoreTokens();t++,s++){
steps[s] = Integer.parseInt(smallToken.nextToken());
// System.out.println(steps[s]);/*for test*/
times[t] = Integer.parseInt(smallToken.nextToken());
// System.out.println(times[s]);/*for test*/
}
}
}
void printList(){
// String paraString = "<html><font color = yellow>"+"\t"+"名次" +"\t"+"名字 \t 步数 \t 用时(秒)\n\t";
// for(int i=0;i<name.length;i++){
// StringTokenizer tokenizer = new StringTokenizer(name[i]," ");
// paraString +=(i+1)+"\t"+tokenizer.nextToken()+"\t"+tokenizer.nextToken()+"\t"+tokenizer.nextToken()+"\t"+"\n";
// }
// paraString += "</font></html>";
String paraString ="\t"+"名次" +"\t"+"名字 \t 步数 \t 用时(秒)\n\t";
String littleTemp = " ";
for(int i=0;i<name.length;i++){
StringTokenizer tokenizer = new StringTokenizer(name[i]," ");
paraString += (i+1)+"\t"+tokenizer.nextToken()+"\t"+littleTemp+tokenizer.nextToken()+"\t"+littleTemp+tokenizer.nextToken()+"\n"+"\t";
}
System.out.println(paraString );
SupportList1 aa = new SupportList1(paraString);
SupportList1.woailuo(aa);
}
void insert(String s,int i){
//???????????????????????????????????????????????????
for(int j = name.length-1;j>i;j--){
name[j] = name[j-1];
// System.out.println("zheli"+name[j]);
}
// System.out.println("zhe"+i);
name[i] = s;
}
/**
*This method is written for rewrite the list.
*
*/
void reWriteList(){
int t = 0,s = 0,i= 0;
// han
StringTokenizer tokenizer = new StringTokenizer(sname," ");
tokenizer.nextToken();
s= Integer.parseInt(tokenizer.nextToken());
t = Integer.parseInt(tokenizer.nextToken());
for(i=0;i<name.length;i++){
if(i==name.length-1){
if(s>steps[steps.length-1]){
break;
}
if(s==steps[steps.length-1]){
if(t<times[steps.length-1]){
insert(sname,steps.length-1);
}
break;
}
}
if(s==steps[i]){
if(s==steps[i+1]&&t>=times[i]){
continue;
}
if(t<times[i]){
insert(sname,i);
break;
}
}
if(s<steps[i]/*&&s<=steps[i+1]*/){
insert(sname,i);
break;
}
}
}
/*
for( i = 0;i<steps.length-1;i++){
if(s<steps[0]){
insert(sname,0);
break;
}
if(s>steps[steps.length-1]){
break;
}
if(s<steps[i+1]&&s>steps[i]){
insert(sname,i+1);
break;
}
if(s==steps[i]){
if(t<times[i]){
insert(sname,i);
}
insert(sname,i+1);
break;
}
}
*/
/**
*overriding the method of toString
*
*/
public String toString(){
String temp = "";
for(int i = 0;i<name.length-1;i++){
temp += name[i]+"_";
}
temp += name[name.length-1];
return temp;
}
/**
*Just write for file input.
*
*/
void writeOnDisk(){
try{
PrintWriter fileOut =
new PrintWriter(new FileWriter(getFileName()));
fileOut.println(toString());
fileOut.close();
}catch(IOException ioe){
System.out.println("error!");
}
catch(Exception e){
System.out.println("error4");//???????????
System.exit(0);
}
}
void setFileName(int i){
fileName = "level"+ Integer.toString(i) +".txt";
}
static String getFileName(){
//!How to get FileName?
return fileName;
}
/*public static v oid main(String[] args) throws IOException {
stdErr.print("Source filename: ");
stdErr.flush();
BufferedReader input =
new BufferedReader( new FileReader(stdIn.readLine()));
stdErr.print("Destination filename: ");
stdErr.flush();
PrintWriter output =
new PrintWriter(new FileWriter(stdIn.readLine()));
String line = input.readLine();
while (line != null) {
output.println(line);
line = input.readLine();
}
input.close();
output.close();
stdOut.println("done");
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -