dyxm21 2016-06-01 00:51 采纳率: 100%
浏览 1350
已采纳

求这段c语言代码换成java代码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

#include

#include

using namespace std;

struct jewelry {

int price;

int volume;

bool operator < (const jewelry &A) const {

return price > A.price;

}

}buf[101];

int main() {

int v, n, i, ans, ids;

while(~scanf("%d", &v) && v) {

scanf("%d", &n);

for(i=0; i scanf("%d%d", &buf[i].price, &buf[i].volume);
sort(buf, buf+n);
ids = 0;
ans = 0;
while(v>0 && ids if(v>=buf[ids].volume) {

v -= buf[ids].volume;

ans += buf[ids].price * buf[ids].volume;

} else {

ans += v * buf[ids].price;

v = 0;

}

ids ++;

}

printf("%d\n", ans);

}

return 0; 图片说明

  • 写回答

5条回答

  • threenewbee 2016-06-01 02:13
    关注
     class jewelry {  
        public int price;  
        public int volume;  
        boolean compareto (jewelry A) {  
            return this.price > A.price;
    }  
    static jewelry[] buf = new jewelry[101];  
    void main() {  
        int v, n, i, ans, ids;
            Scanner in = new Scanner(System.in);
        while(in.hasNextInt()) {
                v = in.nextInt();
            n =  in.nextInt();  
            for(i=0; i<n; i++)  
                    {
                        buf[i] = new jewelry();
                buf[i].price= in.nextInt();
                            buf[i].volume = in.nextInt();  
                    }
            sort(buf, buf+n);
            ids = 0;  
            ans = 0;  
            while(v>0 && ids<n) {  
                if(v>=buf[ids].volume) {  
                    v -= buf[ids].volume;  
                    ans += buf[ids].price * buf[ids].volume;  
                } else {  
                    ans += v * buf[ids].price;  
                    v = 0;  
                }  
                ids++;  
            }
            System.out.println(ans);  
        }  
        return 0; 
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab