1~100共一百个自然数,放入一个只有99个元素的数组中,要求写出一个尽量简单的方案,找出没有被放入数组的这个数;
解决方案 »
- String数组排序
- 404!!!404!!!mother fucker 404!!!
- java线程问题
- 请教在SQL Server 2000里面,如何使用JDBC向IMAGE字段插入大二进制数据
- 100分! 挑战你的思维~~ 面向对象的经典问题 --- 如何设计这样一个类描述一辆汽车? ^_^
- Statement提示有歧义,就是说在eclipse中提示有java.beans.Statement与java.sql.Statement.
- java Properties问题
- 求救!关于编写计算器的计算部分。
- 请各位谈一下java代码执行的过程!!!
- 请问:VJ++ 和 Jbuider 哪一个更好
- 请问JAVA有哪些方式可以实现动态调用 Web Service呢? 我的代码报了一个很怪异的错误 , 高手帮帮忙.
- java图形界面中对组件重写processEvent方法与对组件添加mouseListener有什么区别
package util;public class Test { /**
* @param args
*/
//就是比方我数组就简单点 就直接定义了
public static void main(String[] args) {
// TODO Auto-generated method stub
int s []={1,2,3,5,6,7,8,9,10};
int w []={1,2,3,4,5,6,7,8,9,10};
int res=new Test().getFindNumber(s, w);
System.out.println(res+"不在数组中");
}
public int getFindNumber(int a [],int b [])
{
int res=0;
int res1=0;
int res2=0;
for (int i=0;i<9;i++)
{
res1=a[i]+res1;
}
for(int j=0;j<10;j++)
{
res2=b[j]+res2;
}
res=res2-res1;
return res;
}
}
import java.util.ArrayList;
import java.util.List;public class Test3 { /**
* @param args
*/
public static void main(String[] args) {
int [] src = {1, 2, 3, 4, 5, 6, 7, 9, 10} ;
int [] tArr= new int[src.length +1] ;
for(int i = 0; i <src.length; i++){
tArr[src[i]-1] = 1 ;
}
int j = 0 ;
for (; j < tArr.length; j++){
if (tArr[j] == 0){
break ;
}
}
System.out.println("----" + (j+1) ) ;
}}
/**
* 生成随机数但不能重复
*
*/public class Random { public static void main(String[] args) { int start=1;
int stop=100;
int number = stop-start+1;
int a[] = rand(start, stop);
for (int i = 0; i < number; i++) {
System.out.print(a[i] + " ");
if (i % 20 == 0 && i != 0) {
System.out.println();
}
} }
/**
*
* @param start 开始的数
* @param stop 最后一个数
* @return 返回一个数组
*/
public static int[] rand(int start, int stop) { //总共要生成的多少个数
int number = stop-start+1;
int Random[] = new int[number];
for (int i = 0; i < number; i++) {
while (true) {
//int ran = (int) (10 * Math.random() + 1);
int ran =(int)(new java.util.Random().nextInt(number))+start;
for (int j = 0; j < i; j++) {
if (Random[j] == ran) {
ran = -1;
break;
}
}
if (ran != -1) {
Random[i] = ran;
break;
}
}
}
return Random;
}}
具体实现和测试类public class Test_4 { public static void main(String[] args) { test(); } static void test() { // 把随机生成的1~100的自然数放到a中去
int a[] = Random.rand(1, 100); int b[] = new int[99]; for (int i = 0; i < b.length; i++) {
b[i] = a[i];
}
System.out.println("排序前: ");
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
if ((i + 1) % 20 == 0 && i != 0) {
System.out.println();
}
} // 对该数据进行排序
for (int i = 1; i < b.length; i++) {
int insertVal = b[i]; // 要插入的数
int index = i - 1; // 要比较的前一个数的下标
while (index >= 0 && insertVal < b[index]) {
b[index + 1] = b[index];
index--; // 退出循环的条件
}
b[index + 1] = insertVal;
} System.out.println("\n排序后: ");
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
if ((i + 1) % 20 == 0 && i != 0) {
System.out.println();
}
}
int num=0;
for (int i = 0; i < b.length; i++) {
if(b[i]!=(i+1)){
num=i+1;
break;
}
} System.out.println("\n这个没插入的数是: "+num); }}