java 用数组的方式接收用户输入的数 并输出数组 求怎么实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 用数组的方式接收用户输入的数 并输出数组 求怎么实现?相关的知识,希望对你有一定的参考价值。

参考技术A

public class Util

public static void main(String[] args)

java.util.Scanner sc = new java.util.Scanner(System.in);

String[] arr = new String[5];

for(int i = 0; i < arr.length; i++)

arr[i] = sc.next();

//这里使用util.Arrays的代码输出数组

System.out.println(java.util.Arrays.toString(arr));

扩展资料:

java中接受用户输入的其他方法

package 控制台接受输入;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.nio.Buffer;

import java.util.Scanner;

public class InputCode

public static void main(String[] args) throws IOException

/*

* Scanner类中的方法 

* 完美

*/

Scanner input =new Scanner(System.in);

System.out.println("please input your name ");

String name=input.nextLine();

System.out.println(name);

/*

* 缺点:只能接受用户输入的一个字符

*/

System.out.println("enter your name");

char name1 = 0;

try

//inputstream中的read()方法放回输入流中下一个字符

name1 = (char) System.in.read();

catch (IOException e)

e.printStackTrace();

System.out.println(name1);

/*

* InputStreamReader和BufferedReader方法 

* 优点:可以获取字符串

* 缺点:获取的是int或者string人需要强转

*/

//通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 

//包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如, 

//BufferedReader in= new BufferedReader(new FileReader("foo.in"));

System.out.println("enter your name");

InputStreamReader input1=new InputStreamReader(System.in);

BufferedReader in=new BufferedReader(input1);

String name2=in.readLine();

System.out.println(name2);

C++ 如何将输入的数读入数组

假如从键盘上敲入
2 5 7(回车)
定义数组array[10];

array[0]=2;
array[1]=5;
array[2]=7;
当然,我指的是你不知道用户输入了多少个数(前提:小于10)~~

写了个程序
实现的你的要求
你可以拿去看下^_^

/***********************************************
思路:
1.首先用一个字符数组存储用户所输入的所有数据
(包括空格)
2.再从这个数组中将数据提取出来存放到数组array中

存在问题.
这个程序还未写完整.很多BUG都没考虑.
1.当用户输入的不是数字的时候未判断.
2.用户输入的第一个字符为'空格'.
等......
***********************************************/
#include<stdio.h>
#include<stdlib.h>

void main()

int array[10] = 0;//定义数组
int nJ = 1;
char strNum[50] = 0;//零时存储数据
char* cNum = strNum;//指向字符数组的指针用于读出数据

gets(strNum);//读取数据

array[0] = atoi(cNum);
//将数组strNum中的内容转换到数组array
for(int nI = 0; nI < 50;nI++)

if(*cNum == 32)

array[nJ] = atoi((cNum + 1));//提取字符串中的数字
nJ++;

cNum++;


for(int i = 0; i < 10; i++)

printf("%d\n",array[i]);

参考技术A #include <iostream>
#include <sstream>
#include <cstddef>
#include <string>

using namespace std;

#define OUT(name,num) \
cout << #name "[" << num << "] = " << name[num] << endl

string& clear(string &str);

int main( )

const int SIZE = 10;
int array[SIZE] = 0 ;
string str;
getline(cin, str);
str = clear(str);
istringstream iss(str);

for (int i(0),temp(0); (iss >> temp) && (i < SIZE); ++i)
array[i] = temp;

for (int i = 0; i < SIZE; ++i)
OUT(array,i);


string& clear(string &str)

size_t begin;
while ((begin = str.find_first_not_of(" 0123456789")) != str.npos)
str.replace(begin, 1, " ");
return str;


输入:2 5 7
输出:2 5 7 0 0 0 0 0 0 0

此时
arr[0] = 2;
arr[1] = 5;
arr[2] = 7;
其他为0。

另外我增加了防错:
输入:0a 1d 2 3abc 4 5ffd 6d 7 8gg 9aa10fdgdf
输出: 0 1 2 3 4 5 6 7 8 9

输入:dsggsdgfdgd1 2dfgsd12fdgdf
输出:1 2 12 0 0 0 0 0 0 0

如果有你不懂的地方希望你能查查网络和书,借此多了解C++。
参考技术B #include <iostream.h>
....
cin>>a[0]>>a[1]>>a[2];
...

以上是关于java 用数组的方式接收用户输入的数 并输出数组 求怎么实现?的主要内容,如果未能解决你的问题,请参考以下文章

python 怎么将一个数组逆序输出?

程序从命令行接收多个数字,求和之后输出结果。

程序从命令行接收多个数字,求和之后输出结果

C++ 输入一组数组 找出这个数组中第2大的数 这个函数 怎么写

在c语言中怎么输入一组数字存储在数组里

编写程序将一个数组中的数按逆序重新存放并输出(程序中数组的元素个数自定,逆序