标题:根据类中的一个变量,对类数组进行排序
只看楼主
hds812551918
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-14
结帖率:100%
已结贴  问题点数:20 回复次数:5 
根据类中的一个变量,对类数组进行排序

import *;
import java.util.*;

//商品类
class Goods{
private String name;
private int identifier;
private double price;
private int number;

public void setName(String n){
      name=n;
  }
  
  public void setIdentifier(int i){
      identifier=i;
  }
  
  public void setPrice(double p){
      price=p;
  }
         
 public void setNumber(int n){
     number=n;
 }
 
 public String getName(){
     return name;
 }
 
 public double getPrice(){
     return price;
 }
 
 public int getIdentifier(){
     return identifier;
 }
 
 public int getNumber(){
     return number;
 }
 
}
public class Lianxi2 {

    public static void main(String[] args) throws IOException{
       Goods[] g=new Goods[2];
       Goods[] goods=new Goods[2];
      
       BufferedWriter f1 = new BufferedWriter(new FileWriter("goods.txt"));
    File file= new File("goods.txt");  
    Scanner in=new Scanner(file);
      Scanner input= new Scanner(System.in);
       int i,j,t;
       String name;
       double price;
       int number;
       int identifier;
       long sum;
          String s;
  //从键盘读取并写入文件中      
  for (i=0;i<2;i++){
           g[i]=new Goods();
           System.out.print("请输入商品编号:");
           identifier=input.nextInt();
          g[i].setIdentifier(identifier);
   
           System.out.print("请输入商品名称:");
           name=input.next();
           g[i].setName(name);
   
           System.out.print("请输入商品单价:");
           price=input.nextDouble();
           g[i].setPrice(price);
 
           System.out.print("请输入商品数量:");
           number=input.nextInt();
           g[i].setNumber(number);
   
       }
       for(i=0;i<2;i++){
       f1.write(g[i].getIdentifier()+"  "+g[i].getName()+"  "+ g[i].getPrice()+"  "+  g[i].getNumber()+"\r\n");
       }
       f1.close();
      /*
       for(i=0;i<4;i++){
       g[i].setIdentifier(0);
       g[i].setName("");
       g[i].setPrice(0);
       g[i].setNumber(0);  
       }
   */
      
       //从文件中读取
       i=0;
    while(in.hasNext()){
        int a = in.nextInt();
        String b = in.next();
        double c= in.nextDouble();
        int d = in.nextInt();
        g[i].setIdentifier(a);
        g[i].setName(b);
        g[i].setPrice(c);
        g[i].setNumber(d);
        i++;
    }
   in.close();

//想实现根据价格对商品进行排序
    for(i=0;i<3;i++){
         goods[i]=new Goods();
        for(j=i+1;j<4;j++){
            if((g[i].getPrice())<(g[j].getPrice())){
                t=j; j=i;i=t;           
            }      
        }     
        }
   
    //打印
     for(i=0;i<4;i++){
         System.out.println(goods[i].getIdentifier()+"  "+goods[i].getName()+"   "+goods[i].getPrice()+"  "+goods[i].getNumber() );
     }
    }  
}
搜索更多相关主题的帖子: public private 商品 void double 
2013-05-14 23:53
hds812551918
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-14
得分:0 
怎么就没一个回复滴呢
2013-05-15 22:19
ren829
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:15
帖 子:255
专家分:1174
注 册:2006-3-11
得分:10 
你是想大家挑问题,还是夸奖?不知道你要回复什么啊
2013-05-16 00:23
szgg520
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:79
专家分:307
注 册:2011-6-13
得分:10 
可以呀,写的这代码

[url=http://www.]深圳复印机出租[/url]
2013-05-16 15:44
hds812551918
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-14
得分:0 
回复 3楼 ren829
可是这无法实现排序啊
2013-05-16 21:50
hds812551918
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-14
得分:0 
回复 4楼 szgg520
实现不了排序
2013-05-16 21:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407104-1-1.html




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

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