数组取值 假如有个数组为 String[] num = {"1001 2002 3003 4004 5005"};请问如何将这个集合里的元素取出来并且跟一个变量n去对比,n从0开始到10000结束,如果n和num里的值相等就打印出来,不相等则输出*号 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先“String[] num = {"1001 2002 3003 4004 5005"};”这个数组我估计楼主是想这样的吧:String[] num = {"1001", "2002", "3003", "4004", "5005"};“n从0开始到10000结束”是指n在这个区间的摸个固定值呢还是在这个区间里变化的? public static void main(String[] args) { String[] arr = { "1001 2002 3003 4004 5005" }; String[] a = arr[0].split(" "); for (String str : a) { for (int n = 0; n <= 10000; n++) { if (Integer.valueOf(str) == n) { System.out.println(n); } else { System.out.println("*"); } } } }思路是这样。不复杂、不过1W太大了。控制太显示不全、不好贴运行结果。自己换个小点的数字试试 String num = "1001 2002 3003 4004 5005"; // 应该是这样写,你本来就不是个数组。String arrs = num.split(" "); // 用空格切分成数组List lst = Arrays.toList(arrs); // 转换为ListHashSet hs = new HashSet(lst); // 再转换为Hash集,便于快速识别for (int i=0;i<=10000;i++) { if (hs.contains(String.valueOf(i))) { // 检查是否包含 System.out.println(i); }}以上为了清晰,我逐句拆出来了,希望你能理解。 LZ的数组到底是什么形式的,是只有一个字符串,还是笔误有多个字符串?String[] num = {"1001", "2002", "3003", "4004", "5005"};int[] arr = new int[10001]; //或者用List //List<Integer> list = new ArrayList<Integer>();for (int i=0; i<=10000; i++) { arr[i] = i; //list.add(i);}for (String s : num) { int n = Ineteger.valueOf(s); if (Arrays.binarySearch(arr, n) >= 0) { //用数组的查找判断是否存在 //if (list.contains(n)) { //或者用list的contains判断是否存在 System.out.println(s); } else { System.out.println("*"); }} public static void main(String[] args) { String[] arr = { "1001 2002 3003 4004 5005" }; String[] a = arr[0].split(" "); int count = 0; for (String str : a) { for (int n = 0; n <= 10000; n++) { if (Integer.valueOf(str) == n) { System.out.println(n); } else { count++; System.out.println("*"); } } } System.out.println(count); }count会输出啊、。怎么会死循环 2L的代码木有死循环吧,只不过它循环套循环,比较慢,而且用集合或数组直接查找可能更好一些public static void main(String[] args) { String[] arr = { "1001 2002 3003 4004 5005" }; String[] a = arr[0].split(" "); List<Integer> list = new ArrayList<Integer>(); for (int i=0; i<10000) list.add(i); for (String str : a) { int n = Integer.valueOf(str); if (list.contains(n)) { System.out.println(n); } else { System.out.println("*"); } }} public class TTT { /** * @param args */ public static void main(String[] args) { String[] num = {"1001", "2002", "3003", "4004", "5005"}; String[] arr = new String[10001]; for (int i = 0; i <=10000; i++){ arr[i] = "*" ; } for(int i= 0; i < num.length; i++){ arr[Integer.parseInt(num[i])] = num[i] ; } System.out.println("--start--") ; for (int i = 0; i <=10000; i++){ System.out.println(arr[i] ) ; } System.out.println("--end--") ;}} Hibernate的Criteria查询Mysql数据奇怪的缓存 java集合问题,请大家帮帮忙,有此类问题告诉我!谢谢 调查 properties文件使用 arrayList可以换成FastMap的吗? 关于servlet jar包 css特效如何制作 JAVA的基本问题,很简单 J2EE开发中 如何将存在与页面范围内的一个VECTOR传递给ACTION及后台??? 初次接触hibernate不解! 初学XML问题 WebLogic 创建域问题 高分 联网的时候正常,无网络的时候出现以下问题,请帮忙看看
:String[] num = {"1001", "2002", "3003", "4004", "5005"};
“n从0开始到10000结束”是指n在这个区间的摸个固定值呢还是在这个区间里变化的?
String[] arr = { "1001 2002 3003 4004 5005" };
String[] a = arr[0].split(" ");
for (String str : a) {
for (int n = 0; n <= 10000; n++) {
if (Integer.valueOf(str) == n) {
System.out.println(n);
} else {
System.out.println("*");
}
}
}
}
思路是这样。不复杂、不过1W太大了。控制太显示不全、不好贴运行结果。自己换个小点的数字试试
String arrs = num.split(" "); // 用空格切分成数组
List lst = Arrays.toList(arrs); // 转换为List
HashSet hs = new HashSet(lst); // 再转换为Hash集,便于快速识别for (int i=0;i<=10000;i++) {
if (hs.contains(String.valueOf(i))) { // 检查是否包含
System.out.println(i);
}
}以上为了清晰,我逐句拆出来了,希望你能理解。
String[] num = {"1001", "2002", "3003", "4004", "5005"};
int[] arr = new int[10001];
//或者用List
//List<Integer> list = new ArrayList<Integer>();
for (int i=0; i<=10000; i++) {
arr[i] = i;
//list.add(i);
}
for (String s : num) {
int n = Ineteger.valueOf(s);
if (Arrays.binarySearch(arr, n) >= 0) { //用数组的查找判断是否存在
//if (list.contains(n)) { //或者用list的contains判断是否存在
System.out.println(s);
} else {
System.out.println("*");
}
}
public static void main(String[] args) {
String[] arr = { "1001 2002 3003 4004 5005" };
String[] a = arr[0].split(" ");
int count = 0;
for (String str : a) {
for (int n = 0; n <= 10000; n++) {
if (Integer.valueOf(str) == n) {
System.out.println(n);
} else {
count++;
System.out.println("*");
}
}
}
System.out.println(count);
}
count会输出啊、。怎么会死循环
用集合或数组直接查找可能更好一些public static void main(String[] args) {
String[] arr = { "1001 2002 3003 4004 5005" };
String[] a = arr[0].split(" ");
List<Integer> list = new ArrayList<Integer>();
for (int i=0; i<10000) list.add(i);
for (String str : a) {
int n = Integer.valueOf(str);
if (list.contains(n)) {
System.out.println(n);
} else {
System.out.println("*");
}
}
}
* @param args
*/
public static void main(String[] args) { String[] num = {"1001", "2002", "3003", "4004", "5005"};
String[] arr = new String[10001]; for (int i = 0; i <=10000; i++){
arr[i] = "*" ;
}
for(int i= 0; i < num.length; i++){
arr[Integer.parseInt(num[i])] = num[i] ;
}
System.out.println("--start--") ;
for (int i = 0; i <=10000; i++){
System.out.println(arr[i] ) ;
}
System.out.println("--end--") ;
}}