java怎么运行一次程序可是输入多组数据

java怎么运行一次程序可是输入多组数据,第1张

实在要输入几多个数组,不必用第一个输入的数来做控制。给出下面一段代码:

import java.util.Scanner

public class TestManyArrayInput {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in)

//int arrayNum = scan.nextInt()//要是你第一个数想输入数组的个数,可以参加这行,得到的值则为数组的个数

String str1 = scan.next()

String[] arr1 = str1.split(",")//第一个数组

String str2 = scan.next()

String[] arr2 = str2.split(",")//第二个数组

}

}

以上代码中,运行时输入:1,2,3,5,4(空格)3,2,5,3,5

则得到str1=1,2,3,5,4;str2=3,2,5,3,5

然后将这两组字符串用逗号分开得出String数组,再举行转换即可。

要是要输入更多组数组的话,可以根据雷同的要领循环……

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in = new Scanner(System.in)

String values = in.nextLine()

List<int[]>arrays = new ArrayList<int[]>()

while(isNext(values)){

//System.out.println("input values="+values)

initValues(arrays, values)

values = in.nextLine()

}

findValues(arrays)

}

private static void findValues(List<int[]>arrays) {

if(arrays!=null &&arrays.size()>0){

int index = 1

for(int[] array : arrays){

if(array==null || array.length==0) {

System.out.println("第"+index+"行数据结果:空值。")

continue

}

int count = 0

for(int num : array){

if(num%2 ==0 &&num/2>1){//具体的计算规则。这里以计算大于2的偶数个数为例。

count ++

}

}

System.out.println("第"+index+"行数据结果:" + count)

index++

}

}

}

private static void initValues(List<int[]>arrays, String values) {

String[] temp_values = values.split("\\s")

int len = temp_values.length

int[] array = new int[len]

for(int i=0i<leni++){

int val = -1

try {

val = Integer.parseInt(temp_values[i])

} catch (NumberFormatException e) {

}

array[i] = val

}

arrays.add(array)

}

static boolean isNext(String values){

if(values!=null){

values = values.trim()

if(values.lastIndexOf(" ")>0){

values = values.substring(values.lastIndexOf(" ")+1)

}

if(!values.equals("-1")){

return true

}

}

return false

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9947004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存