Java中的DoubleBuffer put()方法,示例|集1

推杆(双f)

这个 推杆(双f) 方法 JAVA尼奥。双缓冲区 类用于在当前位置将给定的双精度写入新创建的双精度缓冲区,然后递增该位置。

null

语法:

public abstract DoubleBuffer put(double f)

参数: 此方法采用双倍值 F 作为要写入双缓冲区的参数。

返回值: 此方法返回 这个缓冲区 ,其中插入了双精度值。

例外情况: 此方法引发以下异常:

  • BufferOverflowException –如果该缓冲器的当前位置不小于其极限
  • ReadOnlyBufferException –如果该缓冲区是只读的

以下是说明put(双f)方法的示例: 例1:

// Java program to demonstrate
// put() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the DoubleBuffer
int capacity = 3 ;
// Creating the DoubleBuffer
try {
// creating object of Doublebuffer
// and allocating size capacity
DoubleBuffer db = DoubleBuffer.allocate(capacity);
// putting the value in Doublebuffer using put() method
db.put( 8 .56D);
db.put( 9 .61D);
db.put( 7 .86D);
db.rewind();
// print the DoubleBuffer
System.out.println( "Original DoubleBuffer:  "
+ Arrays.toString(db.array()));
}
catch (BufferOverflowException e) {
System.out.println( "Exception throws : " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println( "Exception throws : " + e);
}
}
}


输出:

Original DoubleBuffer:  [8.56, 9.61, 7.86]

例2: 演示BufferOverflowException。

// Java program to demonstrate
// put() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the DoubleBuffer
int capacity = 3 ;
// Creating the DoubleBuffer
try {
// creating object of Doublebuffer
// and allocating size capacity
DoubleBuffer db = DoubleBuffer.allocate(capacity);
// putting the value in Doublebuffer using put() method
db.put( 8 .56F);
db.put( 9 .61F);
db.put( 7 .86F);
System.out.println( "Trying to put the Double at the "
+ "position more than its limit" );
db.put( 7 .86F);
// rewind the Doublebuffer
db.rewind();
// print the DoubleBuffer
System.out.println( "Original DoubleBuffer:  "
+ Arrays.toString(db.array()));
}
catch (BufferOverflowException e) {
System.out.println( "Exception throws : " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println( "Exception throws : " + e);
}
}
}


输出:

Trying to put the Double at the position more than its limit
Exception throws : java.nio.BufferOverflowException

例3: 演示ReadOnlyBufferException。

// Java program to demonstrate
// put() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of theDoubleBuffer
int capacity = 3 ;
// Creating theDoubleBuffer
try {
// creating object ofDoublebuffer
// and allocating size capacity using allocate() method
DoubleBuffer db = DoubleBuffer.allocate(capacity);
// Creating a read-only copy ofDoubleBuffer
// using asReadOnlyBuffer() method
DoubleBuffer db1 = db.asReadOnlyBuffer();
System.out.println( "Trying to put theDouble value"
+ " in read only buffer" );
// putting the value in readonlyDoublebuffer
// using put() method
db1.put( 8 .56F);
}
catch (BufferOverflowException e) {
System.out.println( "Exception throws : " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println( "Exception throws : " + e);
}
}
}


输出:

Trying to put theDouble value in read only buffer
Exception throws : java.nio.ReadOnlyBufferException

put(整数索引,双f)

这个 put(整数索引,双f) 方法 JAVA尼奥。双缓冲区 类用于将给定的double写入给定索引处的缓冲区。

语法:

public abstract DoubleBuffer put(int index, double f)

参数: 此方法将以下参数作为参数:

  • 指数 :将写入双精度的索引
  • F :要写入的双值

返回值: 此方法返回 这是缓冲区。

异常:此方法引发以下异常:

  • IndexOutOfBoundsException –如果指数为负值或不小于缓冲区的限制
  • ReadOnlyBufferException –如果该缓冲区是只读的

下面是说明put(整数索引,双f)方法的示例:

例1:

// Java program to demonstrate
// put() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the DoubleBuffer
int capacity = 3 ;
// Creating the DoubleBuffer
try {
// creating object of Doublebuffer
// and allocating size capacity
DoubleBuffer db = DoubleBuffer.allocate(capacity);
// putting the value in Doublebuffer using put() at  index 0
db.put( 0 , 8 .56F);
// putting the value in Doublebuffer using put() at  index 2
db.put( 2 , 9 .61F);
// putting the value in Doublebuffer using put() at  index 1
db.put( 1 , 7 .86F);
// rewinding the Doublebuffer
db.rewind();
// print the DoubleBuffer
System.out.println( "Original DoubleBuffer:  "
+ Arrays.toString(db.array()));
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception throws : " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println( "Exception throws : " + e);
}
}
}


输出:

Original DoubleBuffer:  [8.5600004196167, 7.860000133514404, 9.609999656677246]

例2: 展示IndexOutOfBoundsException。

// Java program to demonstrate
// put() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the DoubleBuffer
int capacity = 3 ;
// Creating the DoubleBuffer
try {
// creating object of Doublebuffer
// and allocating size capacity
DoubleBuffer db = DoubleBuffer.allocate(capacity);
// putting the value in Doublebuffer
// using put() at  index 0
db.put( 0 , 8 .56F);
// putting the value in Doublebuffer
// using put() at  index 2
db.put( 2 , 9 .61F);
// putting the value in Doublebuffer
// using put() at  index -1
System.out.println( "Trying to put the value"
+ " at the negative index" );
db.put(- 1 , 7 .86F);
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception throws : " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println( "Exception throws : " + e);
}
}
}


输出:

Trying to put the value at the negative index
Exception throws : java.lang.IndexOutOfBoundsException

例3: 演示ReadOnlyBufferException。

// Java program to demonstrate
// put() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the DoubleBuffer
int capacity = 3 ;
// Creating the DoubleBuffer
try {
// creating object of Doublebuffer
// and allocating size capacity using allocate() method
DoubleBuffer db = DoubleBuffer.allocate(capacity);
// Creating a read-only copy of DoubleBuffer
// using asReadOnlyBuffer() method
DoubleBuffer db1 = db.asReadOnlyBuffer();
System.out.println( "Trying to put the Double value"
+ " in read only buffer" );
// putting the value in readonly Doublebuffer
// using put() method
db1.put( 0 , 8 .56F);
}
catch (BufferOverflowException e) {
System.out.println( "Exception throws : " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println( "Exception throws : " + e);
}
}
}


输出:

Trying to put the Double value in read only buffer
Exception throws : java.nio.ReadOnlyBufferException

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享