包含javaiseven的词条

博主:adminadmin 2023-01-28 04:03:08 198

今天给各位分享javaiseven的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java题目 下图中 isEven()等和isEven(int)等和isEven(MyInteger)有什么区别,如果写的话要注意些什么

isEven之判断自己的value,isEven(int value)是判断参数中的value,isEven(MyInteger integer)是判断参数integer中的value

JAVA大数取模

public class TTTTT {

    

    public static void main(String[] args) {

        BigInteger bi = new BigInteger(100, new Random());

        System.out.println(bi + " is even : " + isEven(bi));

    }

    public static boolean isEven(BigInteger bi) {

        BigInteger bi_2 = BigInteger.valueOf(2);

        BigInteger bi_0 = BigInteger.ZERO;

        return bi.remainder(bi_2).equals(bi_0);

    }

}

两个错误:

remainder需要的参数是BigInteger类型,而int不是BigInteger的子类。

对象之间的比较需要用equals而不是==。

写一个java方法,判断给定的数字是偶数还是奇数。

奇偶数的判定依据是:是否能被2整除。

1、通过字面解释去实现:采用取模(%)的做法:

public booleam isOdd(int num){

    return num % 2 != 0;

}

注意:通过取模判断奇偶数一定要与0进行比较。如果是通过与1进行比较的话会有一个问题:

0 % 2 = 0  ( 0  !=  1 ) 是偶数

1 % 2 = 1  ( 1  =   1 ) 是奇数

-1 % 2 = -1  ( -1 != 1 ) 是偶数,很明显是错的

2、利用位运算()能更好的实现

原理是:偶数的二进制末位必然是0,奇数的末尾必然是1。所以只要把一个数与1进行按与运算,运算结果为1则是奇数,0则为偶数。

public booleam isOdd(int num){

    return num  1 == 1;

}

这种方法不用担心-1这个特殊情况,(在计算机中,负数以其正值的补码形式表达的):

-1 的二进制:

原码:0000 0001

反码:1111 1110

补码:1111 1111

按位与计算得到:0000 0001,结果是1,则可以判断为-1是奇数。

java编程问题:判断某字符串下标为奇数的字符所组成的字符串与下标为偶数的字符所组成的字符

public class StringTest {

public static void main(String[] args) {

String str = "qwertyuio";

String s1 = "qet";

String s2 = "wry";

System.out.println(s1+"是否是奇数:"+isOddStr(s1,str));

System.out.println(s2+"是否是奇数:"+isOddStr(s2,str));

System.out.println(s1+"是否是偶数:"+isEvenStr(s1,str));

System.out.println(s2+"是否是偶数:"+isEvenStr(s2,str));

}

public static boolean isOddStr(String str1,String str2){

for(int j = 0;j  str1.length();++j) {

boolean flag = true;

for(int i = 1;i  str2.length();i += 2){

if(str1.charAt(j)==str2.charAt(i)){

flag = false;

break;

}

}

if(flag)

return false;

}

return true;

}

public static boolean isEvenStr(String str1,String str2){

for(int j = 0;j  str1.length();++j) {

boolean flag = true;

for(int i = 0;i  str2.length();i += 2){

if(str1.charAt(j)==str2.charAt(i)){

flag = false;

break;

}

}

if(flag)

return false;

}

return true;

}

}

javaiseven的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javaiseven的信息别忘了在本站进行查找喔。