| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1287 人关注过本帖
标题:[原创]一个简单的java 程序
取消只看楼主 加入收藏
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
 问题点数:0 回复次数:8 
[原创]一个简单的java 程序
小弟刚学java 需要一个小的程序,  结果程序只编了一点,下面的就没有思路了望各位指教?

主要的目的是这样:
输入两个字段一个是姓名一个是成绩,写入到一个指定的txt 文件中, 在不输入内容按回车结束.,然后读出,对成绩排序(大小均可) 并把排序后的,重新写入到一个指定的txt 文件并输出在屏幕上(用system.out输出);望指教.
下面是编入的前半段:(不知道对不对只编入了到排序并没有输入到指定的txt文件,到这就不会,各位大哥大姐帮写完谢谢谢谢)
import *;
public class Dong{
public static void main(String args[]){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new FileWrite("d:\\grade.txt");
String s;
int i=0;
while(true){
System.out.println("请输入姓名");
s=br.readLine();
if(s.length()==0) break;
bw.writer(s);
bw.newLine();
System.out.println("请输入成绩");
s=br.readLine();
if(s.length()==0) break;
bw.writer(s);
bw.newLine();
i++;
}
br.close();
bw.close();
String a[]=new String[i];
int b[]=new int[i];
int c[]=new int[i];
int j=0,k;
BufferedReader bf=new BufferedReader(new FileReader("d:\\grade.txt");
while(true){
String ss=bf.readLine();
if(ss==null)  break;
a[j]=ss;
int greade=Integer.parseInt(ss);
         b[j]=greade;
         j++;   
}
bf.close();
BufferedWriter bw=new BufferedWriter(new FileWrite("d:\\grade1.txt")
for(int m=0;m<b.length-1;m++)
{
k=m;
for(int n=m+1;n<b.length;n++)
if(b[n]>b[k])
k=n;
temp=b[m];
b[m]=b[k];
b[k]=temp;
}
}
}
搜索更多相关主题的帖子: java txt public args 
2005-06-17 16:57
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
得分:0 
是的,  现在错误很多我还没有写到头那三个数, 不是你想的那样.我的想法:
第一个数组a是用来读取姓名的,第二个数组是读取成绩的,第三个是数组是读取排完序后的数组的坐标, 这样好输出.

谢谢版主!!!!
2005-06-20 16:34
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
得分:0 
这个是从新编了的 ,但是还是不对能写入,但是数组b 的下标还是不能给C数组帮帮忙谢谢!!! import java.io.*; public class K1{ public static void main(String[] args) throws IOException { int m=0; try{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw=new BufferedWriter(new FileWriter("d:\\java\\grade.txt")); String s; while(true){ System.out.println("输入姓名"); s=br.readLine(); if(s.length()==0) break; bw.write(s); bw.newLine(); System.out.println("输入成绩"); s=br.readLine(); bw.write(s); bw.newLine(); m=m+1; } br.close(); bw.close(); String a[]=new String[m]; int b[]=new int[m]; int c[]=new int[m]; int j=0; BufferedReader bf=new BufferedReader(new FileReader("d:\\java\\grade.txt")); while(true){ String ss=bf.readLine();//读取grade.txt 中的数据 if(ss==null) break; a[j]=ss; ss=bf.readLine(); int greade=Integer.parseInt(ss); b[j]=greade; j++; } BufferedWriter bw1=new BufferedWriter(new FileWriter("d:\\java\\b.txt")); BufferedWriter br1=new BufferedWriter(new OutputStreamWriter(System.out)); int k,t,f,n; for(int i=0;i<a.length-1;i++){ file://按大小排序,排序后写入b.txt文件中 k=i; for(n=i+1;n<a.length;n++){ if (b[n]<b[k]){ k=n; t=b[i]; b[i]=b[k]; b[k]=t; f=c[i]; c[i]=c[k]; c[k]=f;} } } int i=0; while(true){ String ss=bf.readLine(); if (ss==null) break; br1.write(a[c[i]]); br1.write(","); br1.write(String.valueOf(b[c[i]])); br1.newLine(); i++; } bw1.close(); bf.close(); br1.close(); } catch (FileNotFoundException fe) { System.out.println(fe.toString());} catch (IOException ie) { System.out.println(ie.toString());} } }
2005-06-20 17:11
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
得分:0 
那个c组是用来放d 组的下标的,互动转换, 输出的时候用(例:如果输出排序后的第一个a(c(i)),c[i] 用来做重排序后的下标
2005-06-22 18:45
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
得分:0 
版主能不能告诉我一些关于applet的我现在刚刚开始学,什么也不会,,没有什么大致的思路,关于java的简洁而快速的学法谢谢
2005-06-22 18:47
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
得分:0 
我用c组把这个程序写出来了一会给发上来
2005-06-24 11:21
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
得分:0 
import *;
public class Dong{
  public static void main(String[] args) throws IOException
   {
   int m=0;
  try{
   BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
   BufferedWriter bw=new BufferedWriter(new FileWriter("d:\\a.txt"));
   String s;
   while(true){
      System.out.println("输入班级");
        s=br.readLine();
        if(s.length()==0) break;
        bw.write(s);
        bw.newLine();System.out.println("输入姓名");
         s=br.readLine();
         bw.write(s);
         bw.newLine();
      System.out.println("输入成绩");
         s=br.readLine();
         bw.write(s);
         bw.newLine();
      m=m+1;
      }
      br.close();
      bw.close();
   String a[]=new String[m];
  int d[]=new int[m];
   int b[]=new int[m];
   int c[]=new int[m];
BufferedReader bf=new BufferedReader(new FileReader("d:\\a.txt"));
   int j=0;
   while(true){
         String ss=bf.readLine();
         if(ss==null)
            break;
         int greade1=Integer.parseInt(ss);               
         d[j]=greade1;
         ss=bf.readLine();
         a[j]=ss;
         ss=bf.readLine();
         int greade=Integer.parseInt(ss);               
         b[j]=greade;
         j++;   
    }
     bf.close();
   BufferedWriter bw1=new BufferedWriter(new FileWriter("d:\\b.txt"));
   BufferedWriter br1=new BufferedWriter(new OutputStreamWriter(System.out));
    int k,t,f,n;
      for(int i=0;i&lt;j-1;i++){
          c[i]=i;
        }
      for(int i=0;i&lt;a.length-1;i++){
        k=i;
        for(n=i+1;n&lt;a.length;n++){
          if (b[n]&lt;b[k]){
           k=n;
           t=b[i];
           b[i]=b[k];
           b[k]=t;
           f=c[i];
           c[i]=c[k];
           c[k]=f;
             }
           }
         }
      for(int x=0;x&lt;c.length;x++){
        bw1.write(String.valueOf(d[c[x]]+","+a[c[x]]+","+b[x]));
        br1.write(String.valueOf(d[c[x]]+","+a[c[x]]+","+b[x]));
        bw1.newLine();
        br1.newLine();
        }
        bw1.close();
        br1.close();
      }
  catch (FileNotFoundException fe)
    { System.out.println(fe.toString());}
  catch (IOException ie)
    { System.out.println(ie.toString());}
   }
}
源程序
2005-06-24 11:36
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
得分:0 
d数组申明了呀?在上面有的,
2005-07-01 14:51
lingxiang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-6-17
收藏
得分:0 
对了版主,我现在刚刚接触JAVA ,你给提一下意见,我该从哪里入手呢?学的时间好学
2005-07-01 14:53
快速回复:[原创]一个简单的java 程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028901 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved