java计算胜率_基于java的简单英雄联盟胜率计算

这篇博客介绍了如何使用Java编写一个简单的英雄联盟胜率计算程序。作者通过创建主函数和胜率计算函数,实现了根据已有的胜利场次和总场次来计算当前胜率,并预测达到特定胜率所需的额外胜利次数。文章强调了代码中类型转换和NumberFormat类的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于java的简单英雄联盟胜率计算

首先声明,楼主是一个LOLer,技术还说的过去。今天下午楼主的同学看到楼主匹配胜率感人,非说楼主是“小学生”,非说匹配胜率要50%以上才算不坑,55%以上才能有carry作用。所以楼主想算算再赢多少盘能算不坑,于是就做了个算法。下图是楼主的胜率和程序的运行结果。

09c79e7540f8498ebb6b33850dffd7d6.png

c2990b0c5053e7585cff4abca2c4fa9a.png

楼主胜率感人,想成为不坑的人有些难啊,

5011db5261eb08cba891512f2ee7e10a.png下面是代码实现。

主函数

package 胜率;

import java.util.Scanner;

/**

*

* @author Sakuragi

*

*/

public class Demo {

private static Scanner sc;

public static void main(String[] args) {

int all;// 总场次

int win;// 胜利场次

sc = new Scanner(System.in);

System.out.println("输入总场次");

all = sc.nextInt();

System.out.println("输入获胜场次");

win = sc.nextInt();

new Pencent(win, all);

System.out.println("输入您想要的胜率,如: 50%");

String pec = sc.next();

new Pencent(win, all, pec);

}

}

胜率计算函数

package 胜率;

import java.text.NumberFormat;

/**

*

* @author Sakuragi

*

*/

public class Pencent {

Pencent() {

};

public Pencent(int win, int all) {

// 创建一个数值格式化对象

NumberFormat numberFormat = NumberFormat.getInstance();

// 设置精确到小数点后2位

numberFormat.setMaximumFractionDigits(2);

String result = numberFormat.format((float) win / (float) all * 100);

System.out.println("您当前的胜率为:" + result + "%");

}

public Pencent(int win, int all, String pec) {

// 创建一个数值格式化对象

NumberFormat numberFormat = NumberFormat.getInstance();

// 设置精确到小数点后2位

numberFormat.setMaximumFractionDigits(2);

/**

* pec2:去掉%的胜率 强制转换为float类型便于计算。

*/

float pec2 = (float) (Float.parseFloat(pec.substring(0,

pec.length() - 1)) * 0.01);

// result为需要获胜的盘数

String result = numberFormat.format(((float) win - (float) all * pec2)

/ (pec2 - 1));

System.out.println("您需要胜利" + result + "次");

System.out.println("您的胜率才为" + pec);

System.out.println("您的总场次将为:" + (all + Integer.parseInt(result))

+ "您的胜利场次为" + (win + Integer.parseInt(result)));

};

}

总结:

1.楼主注释写的很详细了,算法也很简单,注意类型转换。

2.了解NumberFormat和parseInt和parseFloat的用法。

3.楼主不是“小学生”,胜率低原因很多,自行脑补。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值