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. HTTPS基础原理和配置 - 1

    近期又碰到了SSL相关的事情, 就心血来潮开个新专题 - <HTTPS基础原理和配置> 本文是第一篇文章, 主要介绍SSL TLS加密协议的相关内容. 加密协议历史概要 SSL TLS加密 ...

  2. MySQL的简单安装配置

    一.简单了解MySQL 1.在了解MySQL之前因该了解的东西 数据库(Database)指长期存储在计算机内的.有组织的.可共享的数据集合.数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就 ...

  3. .NET Core 日志记录程序和常用日志记录框架

    本文主要内容为.NET Core的日志记录程序和常使用的日志记录框架的简单使用 首先,打开VS2019新建一个ASP.NET Core Web Api项目,项目创建好后会有一个集成好的天气预报的类和控 ...

  4. 功放世界web新手区

    第一题:view_source: 顾名思义就是查看网页源代码,按一下f12就ok 第二题:robots协议 换言之就是,robots协议告诉了我们,什么可以爬,什么不可以爬,要是觉得坐牢没什么,那就可 ...

  5. Linux centos 代替方案: Rocky Linux (centos作者)

    官网: Rocky Linux

  6. Java处理正则匹配卡死(正则回溯问题)

    目录 背景 项目现场问题 问题跟踪 优化方案 处理正则问题 使用子线程来匹配正则实现 监控线程实现 最优选择方案 参考文章 正则匹配卡死怎么来的? 背景 背景:这次问题的背景是项目上遇到了,在使用正则 ...

  7. K8S 实用工具之一 - 如何合并多个 kubeconfig?

    开篇 引言: 磨刀不误砍柴工 工欲善其事必先利其器 K8S 集群规模,有的公司倾向于少量大规模 K8S 集群,也有的公司会倾向于大量小规模的 K8S 集群. 如果是第二种情况,是否有一个简单的 kub ...

  8. vue3.0中ref动态绑定

    // 自己使用 <div v-for="item in ['lisi','wanger']" :key="item"> <test :ref= ...

  9. git 的基础使用

    配置: 首次安装完git后,需要配置信息 检查配置: git修改:  git config --global user.name "Your_username"    重新设置gi ...

  10. 常用的git提交代码命令

    日常开发使用的git提交代码的方法 一.初始化本地仓库,提交代码,提交到远程git仓库 1.初始化代码仓库git init2.将当前目录下的所有文件放到暂存区git add .3.查看文件状态git ...