java add方法怎么用_Java Math.addExact() 方法

Java Math.addExact() 方法

java.lang.Math.addExact() 返回参数的总和。如果结果溢出int或long,则将引发异常。

1 语法

public static int addExact(int a, int b)

public static long addExact(long a, long b)

2 参数

a :第一个值

b :第二个值

3 返回值

它返回其参数的总和。

如果参数之一是Integer.MAX_VALUE或Long.MAX_VALUE,它将引发ArithmeticException。

4 示例1

package com.yiidian;

/**

* 一点教程网: http://www.yiidian.com

*/

public class Demo

{

public static void main(String[] args)

{

int a = 469;

int b = 737;

// //输入两个正值,输出a和b的加法

System.out.println(Math.addExact(a, b));

}

}

输出结果为:

1206

5 示例2

package com.yiidian;

/**

* 一点教程网: http://www.yiidian.com

*/

public class Demo

{

public static void main(String[] args)

{

long a = 835;

long b = -1573;

// 输入两个值,输出a和b的加法

System.out.println(Math.addExact(a, b));

}

}

输出结果为:

-738

6 示例3

package com.yiidian;

/**

* 一点教程网: http://www.yiidian.com

*/

public class Demo

{

public static void main(String[] args)

{

int a = Integer.MAX_VALUE;

int b = 785;

// 输入整数溢出,输出AirthmeticException

System.out.println(Math.addExact(a, b));

}

}

输出结果为:

Exception in thread "main" java.lang.ArithmeticException: integer overflow

at java.lang.Math.addExact(Math.java:790)

at com.yiidian.Demo.main(Demo.java:13)

7 示例4

package com.yiidian;

/**

* 一点教程网: http://www.yiidian.com

*/

public class Demo

{

public static void main(String[] args)

{

long a = 25;

long b = Long.MAX_VALUE;

// 输入long溢出,输出AirthmeticException

System.out.println(Math.addExact(a, b));

}

}

输出结果为:

Exception in thread "main" java.lang.ArithmeticException: long overflow

at java.lang.Math.addExact(Math.java:809)

at com.yiidian.Demo.main(Demo.java:13)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
把下面这段js代码转换成java代码/** * * @param {array} peopleList 选手列表 * @param {number} round_num 每人打的场数,默认选手人数-1 */ function getTempMatchList(peopleList,round_num) { let p_num = peopleList.length; let partner_group_list = []; //所有有可能搭档的组 let partner_group_list_real = []; //出场的搭档数组 let p_should_round_num = {}; //记录每人上场的次数对象 let ground_num = 0; for (let i = 0; i < peopleList.length; i++) { p_should_round_num[peopleList[i]] = peopleList.length-1; //预先定下前面的搭档池数 } if((p_num*round_num)%4==0){ //整除 ground_num = Math.floor(peopleList.length*round_num/2); for (let i = 0; i < peopleList.length; i++) { const e = peopleList[i]; for (let j = i+1; j < peopleList.length; j++) { const e1 = peopleList[j]; partner_group_list.push([e,e1]); //准确的搭档池 } } partner_group_list_real = [...partner_group_list]; if(round_num>peopleList.length-1){ //必须每人多打几场 let temp_partner_group_list = [...partner_group_list]; let flag = true; while (flag) { //随机拿一组出来 let index = Math.floor(Math.random()*temp_partner_group_list.length); let partner_group_list_real_one = temp_partner_group_list.splice(index,1); let p1 = partner_group_list_real_one[0][0]; let p2 = partner_group_list_real_one[0][1]; if(p_should_round_num[p1]<round_num&&p_should_round_num[p2]<round_num){ partner_group_list_real.push(partner_group_list_real_one[0]); p_should_round_num[p1] +=1; p_should_round_num[p2] +=1; } if(partner_group_list_real.length==ground_num){ flag = false; } } } return partner_group_list_real; }else{ return []; } }
最新发布
05-30
以下是将 JavaScript 代码转换为 Java 代码的尝试: ```java import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; public class Main { public static void main(String[] args) { List<String> peopleList = new ArrayList<>(); peopleList.add("A"); peopleList.add("B"); peopleList.add("C"); peopleList.add("D"); int round_num = 3; List<List<String>> partner_group_list_real = getTempMatchList(peopleList, round_num); System.out.println(partner_group_list_real); } public static List<List<String>> getTempMatchList(List<String> peopleList, int round_num) { int p_num = peopleList.size(); List<List<String>> partner_group_list = new ArrayList<>(); // 所有有可能搭档的组 List<List<String>> partner_group_list_real = new ArrayList<>(); // 出场的搭档数组 Map<String, Integer> p_should_round_num = new HashMap<>(); // 记录每人上场的次数对象 int ground_num = 0; for (int i = 0; i < peopleList.size(); i++) { p_should_round_num.put(peopleList.get(i), peopleList.size() - 1); // 预先定下前面的搭档池数 } if ((p_num * round_num) % 4 == 0) { // 整除 ground_num = (int) Math.floor(peopleList.size() * round_num / 2); for (int i = 0; i < peopleList.size(); i++) { String e = peopleList.get(i); for (int j = i + 1; j < peopleList.size(); j++) { String e1 = peopleList.get(j); List<String> partner_group = new ArrayList<>(); partner_group.add(e); partner_group.add(e1); partner_group_list.add(partner_group); // 准确的搭档池 } } partner_group_list_real.addAll(partner_group_list); if (round_num > peopleList.size() - 1) { // 必须每人多打几场 List<List<String>> temp_partner_group_list = new ArrayList<>(partner_group_list); boolean flag = true; Random rand = new Random(); while (flag) { // 随机拿一组出来 int index = rand.nextInt(temp_partner_group_list.size()); List<String> partner_group_list_real_one = temp_partner_group_list.remove(index); String p1 = partner_group_list_real_one.get(0); String p2 = partner_group_list_real_one.get(1); if (p_should_round_num.get(p1) < round_num && p_should_round_num.get(p2) < round_num) { partner_group_list_real.add(partner_group_list_real_one); p_should_round_num.put(p1, p_should_round_num.get(p1) + 1); p_should_round_num.put(p2, p_should_round_num.get(p2) + 1); } if (partner_group_list_real.size() == ground_num) { flag = false; } } } return partner_group_list_real; } else { return new ArrayList<>(); } } } ``` 需要注意的是,在 Java 中,数组是固定长度的,而 List 是可变长度的,所以需要使用 List 来替代数组,并且需要使用泛型来指定 List 中存储的数据类型。此外,Java 中的 Map 是类似于 JavaScript 中的对象的数据结构,也需要注意使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值