当前位置:编程学习 > JAVA >>

FatMouse‘s trade问题,用java代码实现

package test;

import java.util.Scanner;

public class Fat1 {
public static void main(String[] args) {
Struct t;
Struct unit[]=new Struct[1000];
double sum=0;
Scanner in=new Scanner(System.in);
int M,N,i;
String tmp[]=new String[2];
while(true){
System.out.println("Please input (M N):");
tmp=in.nextLine().split(" ");
M=Integer.parseInt(tmp[0]);
N=Integer.parseInt(tmp[1]);
if(M==-1&&N==-1){
System.out.println("over!Bye");
break;
}
System.out.println("Please input N lines of F J:");
for(i=0;i<N;i++){
tmp=in.nextLine().split(" ");
System.out.println(tmp[0]+","+tmp[1]);
unit[i].setJava(Integer.parseInt(tmp[0])); unit[i].setFood(Integer.parseInt(tmp[1]));
unit[i].setAver((double)unit[i].java/unit[i].food);
}
for(i=0;i<N-1;i++){
for(int j=i+1;j<N;j++){
if(unit[j].aver>unit[i].aver){
t=unit[j];
unit[j]=unit[i];
unit[i]=t;
}
}
}
for(i=0;i<N&&M!=0;i++){
if(M>=unit[i].food){
M=M-unit[i].food;
sum=sum+unit[i].java;
}else{
sum=sum+M*unit[i].aver;
M=0;
}
}
System.out.printf("%.3f\n",sum);
}

}
}
class Struct{
int java;
int food;
double aver;
public int getJava() {
return java;
}
public void setJava(int java) {
this.java = java;
}
public int getFood() {
return food;
}
public void setFood(int food) {
this.food = food;
}
public double getAver() {
return aver;
}
public void setAver(double aver) {
this.aver = aver;
}

}

报空指针异常,求大神帮忙看看那里写的不对! Java struct 类 fatMouse 贪心算法
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,