精华内容
下载资源
问答
  • JAVA中输入不知道长度数组

    万次阅读 2018-08-12 18:09:02
    JAVA中输入不知道长度数组 一、整型数组 例如 input: 3// 数组长度n 1 2 3//数组,注意数组是无法直接输出的,要转化为字符串才能输出。 方法一: import java.util.Arrays; import java.util.Scanner; ...

    JAVA中输入不知道长度的数组

    一、整型数组

    例如

    input:

    3// 数组长度n

    1 2 3//数组,注意数组是无法直接输出的,要转化为字符串才能输出。

    方法一:

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
     public static void main(String[] args) {
         /*
          * 循环连续输入和输出
          * 输入:一个数字 3
          *     一个数组 1 2 3
          */
         Scanner x=new Scanner(System.in);
         while(x.hasNext()){
             int m=x.nextInt();
             //System.out.println(m);
             int[] number=new int[m];
             for(int i=0;i<m;i++){
                 number[i]=x.nextInt();
             }
            // Arrays.sort(number);
             System.out.println(Arrays.toString(number));
         }
        }
    }

    方法二:

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
     public static void main(String[] args) {
         /*
          * 循环连续输入和输出
          * 输入:一个数字 3
          * 一个数组 1 2 3
          */
          Scanner sc = new Scanner(System.in);
    	        int n = sc.nextInt();
    	        int a[] = new int[n];
    	        for(int i=0; i<n; i++)
    	            a[i] = sc.nextInt();
    	        String intArrayString = Arrays.toString(a);
    	        System.out.println(intArrayString);
        }
    }

    二、字符串数组转化为整型数组

    1、空格+整型。首先输入字符串的数组,中间用空格分隔,然后获取字符串长度,作为int[] 初始数组的长度,再将String字符串数组转化为int数组。

    
    public static void main(String[] args){
    	
    	Scanner sc=new Scanner(System.in); 
    	String[] nums = null; 
    	nums = sc.nextLine().split(" "); 
    	int num[]=new int[nums.length];
    	for(int i=0;i<num.length;i++){
    	    num[i]=Integer.valueOf(nums[i]);
    	}
    }

    2、逗号+下横线。

    public class Demo{
    
        public static void main(String[] args) {
            String str = "a,b_a,b_a,b";
            String[] temp = str.split("_");
            String[][] temp2 =new String[3][2];
            for(int i=0;i<temp.length;i++)
            {
                temp2[i] = temp[i].split(",");
            }
            for(int i=0;i<temp2[0].length;i++)
            {
                for(int j=0;j<temp2[1].length;j++)
                {
                    for(int l=0;l<temp2[2].length;l++)
                    {
                        System.out.println(temp2[0][i]+"_"+temp2[1][j]+"_"+temp2[2][l]);
                    }
                }
            }
        }
    }

     

    展开全文
  • C++输入未知长度数组

    万次阅读 多人点赞 2019-06-23 18:33:07
    假如要输入一组数字进行排序,但是不知道有多少个数字 静态数组int array[10],它的长度必须是个常数才可以定义。如果知道数组长度n,可以先cin>>n;然后用动态数组int* array = new int[n]。但是如果不知道...

    注意:该作者博客已迁移至https://buxianshan.xyz

    假如要输入一组数字进行排序,但是不知道有多少个数字

    静态数组int array[10],它的长度必须是个常数才可以定义。如果知道数组长度n,可以先cin>>n;然后用动态数组int* array = new int[n]。但是如果不知道数组长度,该怎么定义呢?

    经过查找资料,终于找到了一种解决方法。使用STL中的vector。

    STL

    STL是Standard Template Library的简称,中文名标准模板库。根本上说,STL是一些“容器”的集合,这些“容器”有 list, vector, set, map 等。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL是C++的一部分,因此不用安装额外的库文件。
    在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。

    vector

    vector(向量):是一种顺序容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组,它的随机访问快,在中间插入和删除慢,但在末端插入和删除快。

    简单用法:
    定义一个vector,元素为 int 型的容器array,可以简单理解为一个整型数组。

    vector<int> array;
    

    在它末尾添加一个数字

    array.push_back(number);
    

    返回数组长度

    array.size();
    

    所以输入未知长度的数组可以这样写:

    #include<iostream>
    #include<vector>//引入vector头文件
    using namespace std;
    int main() {
     vector<int> array;//定义一个vector数组array
     int number;
     while (1) {
      cin >> number;
      array.push_back(number);//每输入一个数字就把它添加到数组的最后
      if (cin.get() == '\n')//如果是回车符则跳出循环
       break;
     }
     int len = array.size();//返回数组长度为len
     //下面遍历一遍数组看看对不对
     for (int i = 0; i < len; i++) {
      cout << array[i] << endl;
     }
     return 0;
    }
    

    测试截图:
    在这里插入图片描述

    已经完成了输入和保存数组

    STL的<algorithm>库中也提供了很多排序算法,遍历vector也可以使用迭代器。总之STL集成了很多优秀的算法,熟悉使用可以提高开发效率。还有很多需要学习的东西。

    参考

    • https://www.cnblogs.com/SarahZhang0104/p/5749680.html
    • https://blog.csdn.net/lizhentao0707/article/details/82224807
    • https://www.cnblogs.com/aiguona/p/7228364.html
    • https://baike.baidu.com/item/STL/70103?fr=aladdin
    展开全文
  • 如何输入任意长度数组

    千次阅读 2020-01-21 10:02:47
    在写代码的时候我们经常遇到这样的问题:要输入一个未确定长度数组。解决这个问题,我们可以这样做: #include using namespace std; int main() { int n; cin>>n; int *a=new int[n]; for(int i=0;i<n;i...

    在写代码的时候我们经常遇到这样的问题:要输入一个未确定长度的数组。解决这个问题,我们可以这样做:
    #include
    using namespace std;
    int main()
    {
    int n;
    cin>>n;
    int *a=new int[n];
    for(int i=0;i<n;i++)
    {
    cin>>a[i];
    }
    }
    这样做就可以输入任意长度的数组了。

    展开全文
  • C语言输入未知长度字符数组

    万次阅读 2019-02-10 15:31:03
    C语言输入未知长度字符数组 问题描述:在最基础的C语言中使用scanf()函数简单输入一行长串字符数组,以回车结束。储存每一个字符以参与后面的运算,或者将他们打印下来。 细节问题 回车(enter)结束——指的是以...

    重新捡起学习C语言系列

    C语言输入未知长度字符数组

    问题描述:在最基础的C语言中使用scanf()函数简单输入一行长串字符数组,以回车结束。储存每一个字符以参与后面的运算,或者将他们打印下来。

    细节问题

    1. 回车(enter)结束——指的是以字符’\n’结束;
    2. 输入采用%c而不是%s,因为后面会运用他们计算。

    用到的语法

    for
    while
    do..while
    if...break

    代码

    do...while语句.

    #include <stdio.h>
    int main()
    {
    	char array_num[100] ;
    	int i = 0, length;
    	do
    	{
    		scanf("%c", &array_num[i]);
    		i++;
    	} while (array_num[i - 1] != '\n');
    	length = i-1;
    
    	for (i = 0; i < length; i++)
    		printf("%c", array_num[i]);
    
    	getchar();//VS2017中特殊设置,解决CMD窗口闪退问题
    	
    	return 0;
    }
    
    展开全文
  • 长度数组

    千次阅读 2019-12-22 22:21:51
    什么是零长度数组 顾名思义,零长度数组就是长度为0的数组。 ANSI C 标准规定:定义一个数组时,数组的长度必须是一个常数,即数组的长度在编译的时候是确定的。在ANSI C 中定义一个数组的方法如下: int a[10];...
  • C语言0长度数组(可变数组/柔性数组)详解

    万次阅读 多人点赞 2017-03-20 19:37:26
    C语言0长度数组(可变数组/柔性数组)详解 CSDN GitHub C语言0长度数组(可变数组/柔性数组)详解 AderXCoding/language/c/zero_length_array 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议...
  • 循环遍历确定长度数组

    千次阅读 2017-05-04 18:07:27
    在做项目的时候,更新界面,我们可以在请求成功的时候把选中的实体移除,如果父类就有...在遍历确定的长度数组时,我们选中用迭代器Iterator<CustomAfterAcceptNumberBean> it = acceptNumberData.iterator(); wh
  • JS 创建 指定长度 数组

    万次阅读 2020-04-07 15:37:54
    JS 创建 指定长度 数组
  • 输入int数组的方法一(不知道长度
  • 0长度数组

    千次阅读 2014-01-03 17:59:39
    0长度数组是个奇怪的东西, 下面的代码(两种形式之一)... 大家知道数组名其实是数组所在内存的首地址, 那么0长度数组的名字,其实是在内存某个地方中作了一个标记, 在适合的时候将这个标记后面的一段内存作为这个数组的
  • Java如何输入不确定长度数组

    万次阅读 2017-08-26 17:00:37
    数组排序和去重 Arrays.sort(A); List <Integer> list = new ArrayList(); //数组去重 for (int i= 0 ;i;i++){ if (A[i]> 0 &&! list .contains(A[i])){ list .add(A[i]); System.out. print (A...
  • mongo数组长度 数组内容 查询

    千次阅读 2017-12-20 17:17:00
    在网上关于mongo数组查询的太少了,现在贡献一下 假设数据库里有一条这样的数据 {  "name": "arrayTest",  "arrayKey": ["a","b"] } 查询 arrayKey长度是2的数据 :{arrayKey:{"$size":2}} 查询arrayKey内容是 ...
  • 长度数组解析

    千次阅读 2015-11-09 19:53:11
    接触了linux编程之后,经常会遇到一个很诡异的零长度数组,今天决定深挖一下。 Struct command {  Int domain;  Int length;  Char bytes[0];//也可以写成char bytes[]; } 在某一结构末尾如定义类似 char ...
  • 如图第4题,如何输入-1初始化结束? 关于数组问题,定义一定长度数组,如何输入-1初始化结束![图片说明](https://img-ask.csdn.net/upload/201511/24/1448328442_779945.png)
  • (定义n,在输入n,int[n],这种算是长度已知的) 我想问的是哪种数组输入完才知道数组长度!谢谢! 分多,请勿嫌弃!
  • 写代码的时候,数组一般要指定长度或者直接赋初值,如果...但是我想把自己从键盘输入的值作为数组长度随时改变,那该怎么做呢? 使用动态数组可以做到: int size; cin>>size; int *shuzu=new int [size]; 这样就行
  • java编程输入一个长度未知的int数组

    万次阅读 2019-02-13 19:32:58
     java中可以直接输入字符串数组,但是输入int[] 数组时需要事先定义长度,但有些题目中的长度是可变的,能事先固定数组长度。首先输入字符串的数组,中间用空格分隔,然后获取字符串长度,作为int[] 初始数组的...
  • JAVA创建可变长度数组

    千次阅读 2019-02-26 14:35:10
    Java经典编程300例 中的... * 可变长度数组 */ public class UsefulArray { public static Object increaseArray(Object array) { Class&lt;?&gt; clazz = array.getClass();// 获得代表数组的Class对象 ...
  • 1、python里面定义未知长度数组 python里面数组可以声明一个未知长度的数值 比如python可以这样定义: #!/usr/bin/python3 a1=[] for i in range(0,10): a1[i]=str(i)+"a" #print(i) 执行报错:IndexError:...
  • C语言中的零长度数组使用说明

    千次阅读 2014-09-20 23:35:35
    C语言中的零长度数组用法详解  在C语言中允许在结构体和联合体中定义零长度的数组,写法可以是以下两种: char p[]或者char p[0],这个数组定义在结构体或者联合体中,占用空间大小。 这是个广泛使用的常见...
  • 定义任意长度数组

    千次阅读 2020-02-11 13:10:58
  • Java可变长度数组

    万次阅读 2017-03-22 09:12:33
    Java数组声明后其长度就固定了,能增加长度。 要创建一个可扩展的数组可以使用ArrayList或Vector。ArrayList和Vector类的工作方式都是相同的,只是Vector类中的方法是同步的,而ArrayList中的方法同步。 ...
  • Java实现字节数组中截取指定长度数组元素

    万次阅读 多人点赞 2016-09-07 14:53:49
    本文使用System提供的一个静态方法arraycopy(),实现数组间的复制。 public static native void arraycopy(Object src,int srcPos,Object dest, int destPos,int length);src:源数组 srcPos:源数组要复制的起始...
  • java中申请不定长度数组ArrayList

    万次阅读 2018-02-02 16:09:07
    import java.util.ArrayList;//java中申请不定长度数组public class Test01 { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList list=new ArrayList(); li
  • 声明固定长度数组及初始化

    千次阅读 2020-03-05 15:32:37
    //一维数组 len = 10; A = zeros(1,len); //多维数组数组为i X 10 len = 10; A = zeros(i,len);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,218,269
精华内容 487,307
关键字:

怎么输入不知道长度的数组