用java写一个可自定义输入int的array数组
时间: 2023-05-11 11:01:46 浏览: 48
好的,以下是一个用 Java 写的可自定义输入 int 类型数组的代码:
import java.util.Scanner;
public class CustomIntArray {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度:");
int length = scanner.nextInt();
int[] array = new int[length];
System.out.println("请输入数组元素:");
for (int i = 0; i < length; i++) {
array[i] = scanner.nextInt();
}
System.out.println("您输入的数组为:");
for (int i = 0; i < length; i++) {
System.out.print(array[i] + " ");
}
}
}
希望这个代码能够帮到您!
相关问题
java中自定义一个动态数组
以下是一个简单的 Java 自定义动态数组的实现:
```
public class DynamicArray<T> {
private int size;
private int capacity;
private Object[] elements;
public DynamicArray() {
this.size = 0;
this.capacity = 10;
this.elements = new Object[capacity];
}
public T get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
return (T) elements[index];
}
public void add(T element) {
if (size == capacity) {
resize();
}
elements[size++] = element;
}
public void remove(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
for (int i = index; i < size - 1; i++) {
elements[i] = elements[i + 1];
}
size--;
}
private void resize() {
capacity *= 2;
Object[] newElements = new Object[capacity];
for (int i = 0; i < size; i++) {
newElements[i] = elements[i];
}
elements = newElements;
}
public int size() {
return size;
}
public boolean isEmpty() {
return size == 0;
}
}
```
这里使用了泛型,可以存储任意类型的元素。DynamicArray 类中包含了以下方法:
- `get(int index)`:获取指定下标的元素。
- `add(T element)`:添加一个元素到数组中。
- `remove(int index)`:移除指定下标的元素。
- `size()`:获取数组的大小。
- `isEmpty()`:判断数组是否为空。
当数组已满时,使用 `resize()` 方法扩容数组。在移除元素时,使用循环将指定下标之后的元素向前移动一位。
java语言写出一个具有增删功能的自定义数组
public class MyArray {
private int[] array; // 内部数组
private int size; // 数组大小
private int capacity; // 数组容量
public MyArray(int capacity) {
this.array = new int[capacity];
this.size = 0;
this.capacity = capacity;
}
// 获取数组大小
public int getSize() {
return size;
}
// 获取数组容量
public int getCapacity() {
return capacity;
}
// 判断数组是否为空
public boolean isEmpty() {
return size == 0;
}
// 判断数组是否已满
public boolean isFull() {
return size == capacity;
}
// 向数组末尾添加元素
public void add(int element) {
if (isFull()) {
throw new RuntimeException("数组已满,无法添加元素。");
}
array[size++] = element;
}
// 根据索引获取元素
public int get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("索引越界。");
}
return array[index];
}
// 修改指定索引的元素
public void set(int index, int element) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("索引越界。");
}
array[index] = element;
}
// 在指定索引位置插入元素
public void insert(int index, int element) {
if (isFull()) {
throw new RuntimeException("数组已满,无法插入元素。");
}
if (index < 0 || index > size) {
throw new IndexOutOfBoundsException("索引越界。");
}
for (int i = size - 1; i >= index; i--) {
array[i + 1] = array[i];
}
array[index] = element;
size++;
}
// 删除指定索引的元素
public void remove(int index) {
if (isEmpty()) {
throw new RuntimeException("数组为空,无法删除元素。");
}
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("索引越界。");
}
for (int i = index; i < size - 1; i++) {
array[i] = array[i + 1];
}
size--;
}
// 查找元素的索引,如果不存在返回-1
public int indexOf(int element) {
for (int i = 0; i < size; i++) {
if (array[i] == element) {
return i;
}
}
return -1;
}
// 清空数组
public void clear() {
size = 0;
}
// 打印数组
public void print() {
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < size; i++) {
sb.append(array[i]);
if (i < size - 1) {
sb.append(", ");
}
}
sb.append("]");
System.out.println(sb.toString());
}
}