Java BitSet previousClearBit()方法
BitSet是一个定义在java.util包中的类。它创建了一个由布尔值表示的比特数组。
Bitset.previousClearBit()
该方法用于查找在作为参数传递的索引上或之前发生的错误位。该方法返回在指定的起始索引上或之前发生的最接近的被设置为假的位的索引。如果没有这样的位存在,或者如果给了-1作为起始索引,那么就会返回-1。
语法。
public int previousClearBit(int fromIndex)
参数。这个方法需要fromIndex,这是开始检查的索引(包括在内)。
返回值。该方法返回前一个清零位的索引,如果没有这个位,则返回-1。
异常情况。如果指定的索引小于-1,该方法会抛出IndexOutOfBoundsException。
下面的程序说明了previousCleatBit()方法。
程序1:
// Java program illustrating Bitset// previousClearBit() function import java.util.*;public class GFG{ public static void main(String[] args) { // Constructors of BitSet class BitSet bs1 = new BitSet(); BitSet bs2 = new BitSet(); BitSet bs3 = new BitSet(); /* assigning values to set1*/ bs1.set(0); //bs1.set(1); bs1.set(2); bs1.set(4); // assign values to bs2 bs2.set(4); bs2.set(6); bs2.set(5); bs2.set(1); bs2.set(2); bs2.set(3); bs2.set(12); // Printing the 2 Bitsets System.out.println("bs1 : " + bs1); System.out.println("bs2 : " + bs2); System.out.println("bs3 : " + bs3); // Performing previousClearBit() on bitsets System.out.println("Previous Clear Bit of bs1"+ bs1.previousClearBit(0)); System.out.println("Previous Clear Bit of bs2"+ bs2.previousClearBit(5)); System.out.println("Previous Clear Bit of bs3"+ bs3.previousClearBit(3)); }}
输出:
bs1 : {0, 2, 4}bs2 : {1, 2, 3, 4, 5, 6, 12}bs3 : {}Previous Clear Bit of bs1-1Previous Clear Bit of bs20Previous Clear Bit of bs33程序2:要显示IndexOutOfBoundException。
// Java program illustrating Bitset// previousClearBit() function. import java.util.*;public class GFG { public static void main(String[] args) { // Constructors of BitSet class BitSet bs1 = new BitSet(); // assigning values to set1 bs1.set(0); bs1.set(1); bs1.set(2); bs1.set(4); // Printing the Bitset System.out.println("bs1 : " + bs1); try { // Passing -2 as parameter System.out.println(bs1.previousClearBit(-2)); } catch (Exception e) { System.out.println("Exception when " + "index less than -1 is passed " + "as parameter : " + e); } }}输出:
bs1 : {0, 1, 2, 4}Exception when index less than -1 is passed as parameter : java.lang.IndexOutOfBoundsException: fromIndex < -1: -2 