import java.util.Scanner;

public class ArrayAdd {
public static void main(String[] args) {
int arr[] = {1,2,3}; //初始数组
System.out.println("====初始数组情况====");
for(int k = 0; k < arr.length; k++){ //显示初始数组的元素
System.out.print(arr[k] + "\t");
}
Scanner myScanner = new Scanner(System.in); //定义出myScanner这个键盘输入的类? label1: while (true) { //死循环函数与break相结合 System.out.println("\\n请问是否需要对数组进行扩容?(Y/N)");
String S = myScanner.nextLine(); //char的数据类型不能用nextchar()的方法
char Whether = S.charAt(0); //先用nextLine()来接收字符,再将其转换成char的数据类型 if (Whether == 'Y' || Whether == 'y') { System.out.println("请输入需要扩容的数组元素的个数:(整数)");
int ExpansionNum = myScanner.nextInt();
int arrNew[] = new int[arr.length + ExpansionNum]; //定义一个新的数组使它的长度为原数组长度加上要扩容的长度 for (int i = 0; i < arr.length; i++) { //将原数组的元素成员传递给新数组
arrNew[i] = arr[i];
System.out.println(arrNew[i]);
} System.out.println("请输入对应扩容的数组元素:"); //在原数组元素的基础上加上扩容元素 for (int j = arr.length; j < arrNew.length; j++) {
System.out.print("第 " + (j + 1) + " 个数组元素:");
int Element = myScanner.nextInt();
arrNew[j] = Element;
System.out.print("\n");
}
arr = arrNew; //将新数组arrNew的地址传递给原数组arr System.out.println("====扩容后数组情况====");
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + "\t"); }
System.out.println();
}else if(Whether == 'N' || Whether == 'n'){
System.out.println("不扩容,数组没有任何变化!!!");
continue label1;
}else {
System.out.println("您输入有误请重新输入!!!");
continue label1; //跳转到一个标签处继续循环
}
}
}
}

Java程序(数组扩容的尝试)的更多相关文章

  1. -Java-Runoob-高级教程-实例-数组:09. Java 实例 – 数组扩容

    ylbtech-Java-Runoob-高级教程-实例-数组:09. Java 实例 – 数组扩容 1.返回顶部 1. Java 实例 - 数组扩容  Java 实例 以下实例演示了如何在数组初始化后 ...

  2. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

    建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...

  3. 改善java程序的151个建议--数组和集合

    60.性能考虑,数组是首选,在基本类型处理方面.数组还是占优势的,并且集合类的底层也都是通过数组实现.建议在性能要求较高的场景中使用数组替代集合. 61.假设有必要.使用变长数组:我们能够通过对数组扩 ...

  4. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  5. Java数组扩容算法及Java对它的应用

    1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...

  6. 读书笔记一 Java程序员的基本修养(数组及其内存管理)

    1.1 数组初始化 1.1.1 java数组是静态的 java数组被初始化之后,该数组所占的内存空间.数组长度都是不可变的. java程序中的数组必须经过初始化才可使用. 数组的初始化有两种方式: 1 ...

  7. 使用泛型对java数组扩容

    编写一个通用方法,其功能是将数组扩展到10%+10个元素(转载请注明出处) package cn.reflection; import java.lang.reflect.Array; public ...

  8. 分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小

    原文:分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小 /** * Reallocates an array with a new size, and copies the co ...

  9. 尝试编辑java程序

    尝试编译java程序 之前在用软件eclipse编译过简单的hello  java程序,因为软件操作简单,后来学会了用命令符来编译程序.代码如下 public class abc     {      ...

  10. 对《java程序员上班那点事》笔者对数组占用内存质疑

    1.<java程序员上班那点事>笔者对数组占用内存的描述 2.实际测试情况: /** * 测试一维数组占用内存 */ public static void testOneArray() { ...

随机推荐

  1. 在windows系统下用vscode构造shell脚本IDE

    1.基础环境搭建 安装Visual Studio Code(VScode ) 下载地址:https://code.visualstudio.com/Download 下载完双击文件,选择路径安装即可, ...

  2. javaEE(Stream流、日志、IO流、File)

    Stream流 简化集合和数组操作的API List<String> list =new ArrayList<>(); Collection.addAll(list," ...

  3. STL中的智能指针(Smart Pointer)及其源码剖析: std::unique_ptr

    STL中的智能指针(Smart Pointer)及其源码剖析: std::unique_ptr 和 std::auto_ptr一样,std::unique_ptr也是一种智能指针,它也是通过指针的方式 ...

  4. Tesseract图片文字识别

    如何进行图文识别? 百度api收费的,自己训练模型集费时费力,有没有训练好的库,我们拿过来直接用的呢? 有,那就是tesseract. 安装 pipenv install pytesseract pi ...

  5. MySQL索引的基本理解

    之前一致以为索引就是简单的在原表的数据上加了一些编号,让查询更加快捷.后来发现里面还有更深的知识. 索引用于快速查找具有特定列值的行.如果没有索引,MySQL 必须从第一行开始,然后通读整个表以找到相 ...

  6. 代码随想录算法训练营day10 | leetcode 232.用栈实现队列 225. 用队列实现栈

    基础知识 使用ArrayDeque 实现栈和队列 stack push pop peek isEmpty() size() queue offer poll peek isEmpty() size() ...

  7. CF846E - Chemistry in Berland

    题意:有一颗树,每个点上有 \(b_i\) 东西,从叶子往上的汇率是 \(1:1\),从父亲往下的汇率是 \(k:1\),求能否使每个点的东西都不少于 \(a_i\). 我们发现,从上往下肯定是不划算 ...

  8. xr32f429开发环境搭建

    XR32是全志科技的一款MCU芯片,基本参数如下所示: 环境的搭建首先是下载芯片对应的资料和手册(QQ群723687715)软硬件资料 官网工具下载:注册全志服务平台 下载无线连接工具和无线MCU 工 ...

  9. shell 命令小记

    if [ -d /abc ] if与后面括号要有空格 中括号与内部的变量也要有空格 for header in `ls *.h` do cp $header /usr/include/mymuduo ...

  10. RadioGroup 自动换行且保留点击事件

    转:(22条消息) RadioGroup 自动换行且保留点击事件_再见孙悟空_的博客-CSDN博客 public class MyRadioGroup extends RadioGroup { pri ...