1. 用循环控制语句打印输出:1+3+5+…….+99=?结果。2.编写两个方法分别计算组合数n!. 一个使用递归方法实现,另一个不用递归方法。3. 编写如下的代码:
A. 这个数组应该有以下方法.
sort(Object[] a)
sort(Object[] o,Comparator c)
它们应该能对任何数据对象类型的数组进行排序。
find(Object[] o,Object b)
要求采用二分查找的方式,对排序后的数组,查找特定的元素.B. 创建一个学生类,学生有如下属性
id(唯一), name,address,code,nickName,ageC. 创建一个具有10个学生类型元素的数组,首先根据id,利用ArraysUtil.sort(Object[] a)方法对它进行排序;然后,根据id,查找一个特定的学生(二分查找)。D. 最后,再用sort(Object[],Comparator c)方法,对这个数组重新排序(先按姓名,再按地址排序的排序规则)。
A. 这个数组应该有以下方法.
sort(Object[] a)
sort(Object[] o,Comparator c)
它们应该能对任何数据对象类型的数组进行排序。
find(Object[] o,Object b)
要求采用二分查找的方式,对排序后的数组,查找特定的元素.B. 创建一个学生类,学生有如下属性
id(唯一), name,address,code,nickName,ageC. 创建一个具有10个学生类型元素的数组,首先根据id,利用ArraysUtil.sort(Object[] a)方法对它进行排序;然后,根据id,查找一个特定的学生(二分查找)。D. 最后,再用sort(Object[],Comparator c)方法,对这个数组重新排序(先按姓名,再按地址排序的排序规则)。
解决方案 »
- 用java编一个课程表,但是要用命令行实现增、删、改、查、显示
- java调用数据库信息的问题
- 如何测试J2SE掌握的程度?
- jsp+servlet+mysql 目录结构怎么设计,谢谢啦
- package学习的一个程序,报错Could not find the main class: shiweiplus. Program will exit.
- 关于to string
- 关于中间有空行的文件的读取
- 关于Map和Iterator的问题
- UDP Socket 问题请教
- 如何在一个页面关闭之前将数据库中相应信息删除?
- 高分跪求: java 与 VBS发邮件差距咋就这大呢?
- 所有家当全部奉上,紧急求助,java调用远程exe方法
sum+=i;
public static void main(String[] args) {
int sum = 0;
for(int i=1;i<100;i=i+2){
sum+=i;
}
System.out.println(sum);
结果 2500
//递归
public static int getFactorialNum01(int i){
if(i < 2) return 1;
return getFactorialNum01(i-1)*i;
}
//非递归
public static int getFactorialNum02(int i){
int temp = 1;
int result = 1;
while(temp <= i){
result *= temp++;
}
return result;
}
}
public long factorial(long num) {
if (num ==1) {
return 1;
}
return factorial(num-1)*num;
}
//循环
public long factorial2(long num) {
for (long i = num; i > 1; i--) {
num = num * (i - 1);
}
return num;
}
sort(Object[] a)
sort(Object[] o,Comparator c)
这两个方法有重复
貌似是以ID排序的
import java.util.Comparator;import com.keeya.util.MyPrintStream;public class ArraysUtil {
public static void main(String[] args) {
Student[] s = new Student[10];
int temp = 0;
while(temp < 10){
s[temp++] = new Student(10, "name", "address","code","nickName");
}
sort(s,c);
for(int i = 0; i < s.length; i++){
MyPrintStream.out.println("id={0} age={1} name={2} address={3} code={4} nickName={5}",
s[i].getId(),s[i].getAge(),s[i].getName()
,s[i].getAddress(),s[i].getCode(),s[i].getNickName());
}
}
private static Comparator c = new StudentComparator(); // public static Object[] sort(Object[] a) {
// return null;
// } public static Object[] sort(Object[] o, Comparator c) {
Arrays.sort(o, c);
return o;
}// public static Object find(Object[] o, Object b) {
// 2分法查找 懒的写了 LZ自己解决下吧
// }}class StudentComparator implements Comparator { public int compare(Object o1, Object o2) {
return ((Student) o1).getId() - ((Student) o2).getId();
}
}class Student {
private static int idGetter = 0; private int id; private int age; private String name; private String address; private String code; private String nickName; public int getId() {
return id;
} public String getAddress() {
return address;
} public int getAge() {
return age;
} public String getCode() {
return code;
} public String getName() {
return name;
} public String getNickName() {
return nickName;
} public Student(int age, String name, String address, String code,
String nickName) {
this.id = idGetter++;
this.age = age;
this.name = name;
this.address = address;
this.code = code;
this.nickName = nickName;
}
}
测试结果:
id=0 age=10 name=name address=address code=code nickName=nickName
id=1 age=10 name=name address=address code=code nickName=nickName
id=2 age=10 name=name address=address code=code nickName=nickName
id=3 age=10 name=name address=address code=code nickName=nickName
id=4 age=10 name=name address=address code=code nickName=nickName
id=5 age=10 name=name address=address code=code nickName=nickName
id=6 age=10 name=name address=address code=code nickName=nickName
id=7 age=10 name=name address=address code=code nickName=nickName
id=8 age=10 name=name address=address code=code nickName=nickName
id=9 age=10 name=name address=address code=code nickName=nickName
Student[] s = new Student[10];
s[7] = new Student(23,"tom","beijing","aaaa","green");
s[9] = new Student(43,"jack","beijing","bbbb","green");
s[8] = new Student(13,"jacky","beijing","cccc","green");
s[5] = new Student(33,"frank","beijing","dddd","green");
s[4] = new Student(21,"king","beijing","rrrr","green");
s[1] = new Student(18,"mery","shanghai","jjjj","green");
s[2] = new Student(31,"nono","beijing","ffff","green");
s[3] = new Student(15,"larry","guangzhou","nnnn","green");
s[0] = new Student(13,"jimmy","wuhan","pppp","green");
s[6] = new Student(27,"lucy","wuhan","pppp","green");
sort(s,c);
for(int i = 0; i < s.length; i++){
MyPrintStream.out.println("id={0} age={1} name={2} address={3} code={4} nickName={5}",
s[i].getId(),s[i].getAge(),s[i].getName()
,s[i].getAddress(),s[i].getCode(),s[i].getNickName());
}
}测试结果
id=0 age=23 name=tom address=beijing code=aaaa nickName=green
id=1 age=43 name=jack address=beijing code=bbbb nickName=green
id=2 age=13 name=jacky address=beijing code=cccc nickName=green
id=3 age=33 name=frank address=beijing code=dddd nickName=green
id=4 age=21 name=king address=beijing code=rrrr nickName=green
id=5 age=18 name=mery address=shanghai code=jjjj nickName=green
id=6 age=31 name=nono address=beijing code=ffff nickName=green
id=7 age=15 name=larry address=guangzhou code=nnnn nickName=green
id=8 age=13 name=jimmy address=wuhan code=pppp nickName=green
id=9 age=27 name=lucy address=wuhan code=pppp nickName=green
public class Testfor{
public static void main(String[] args){
int sum=0;
for(int i=1;i<100;i+=2){
sum+=i;
}
System.out.println("sum="+sum);
}
}
如:Arrays.sort(a);
这样a数组的值会按从小到大排序后在存会数组a中
public class Testsort{
int []a;
public static int sort(int []a){
int temp=0;
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-1;j++){
if(a[i]<a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
return 0;
}
public static void main(String[] args){
int []a={1,5,3,6,2};
sort(a);
for(int k=0;k<a.length;k++){
System.out.print(a[k]+" ");
}
int []b=new int[5];
System.arraycopy(a,0,b,0,a.length);
Arrays.sort(b);
int j=3;
System.out.println("");
System.out.println("第四个数是:"+binarrysearch(b,3));
}
public static int search(int a[],int i){
for(int j=0;j<a.length;j++){
if(a[j]==i) return j;
}
return -1;
}
public static int binarrysearch(int a[],int i){
if(a.length==0)
return -1;
int start=0;
int end=a.length-1;
int m=(start+end)/2;
while(start<end){
if(i==a[m])
return m;
if(i>a[m]){
start=m+1;
}
if(i<a[m]){
end=m-1;
}
m=(start+end)/2;
}
return -1;
}
}
只知道这么多:
import java.util.*;
class Student{
private int id;
String name;
//String adress;
//int age;
Student(int id,String name){
this.id=id;
this.name=name;
//this.adress=adress;
//this.age=age;
}
public int getId(){return id;}
public String getName(){return name;}
}
public class Testfind{
public static void main(String[] args){
int id;
System.out.println("请输入一个ID:");
Scanner input=new Scanner(System.in);
id=input.nextInt();
Student s[]=new Student [10];
s[0]=new Student(1,"adfbl");
s[1]=new Student(2,"a");
s[2]=new Student(3,"ad");
s[3]=new Student(4,"adj");
s[4]=new Student(5,"adfb");
s[5]=new Student(6,"adf");
s[6]=new Student(7,"adfblj");
s[7]=new Student(8,"adfblfgjh");
s[8]=new Student(9,"adfbldghfd");
s[9]=new Student(10,"adfbldfdfth");
switch(id){
case 1:System.out.println("adfbl");break;
case 2:System.out.println("a");break;
case 3:System.out.println("ad");break;
case 4:System.out.println("adj");break;
case 5:System.out.println("adfb");break;
case 6:System.out.println("adf");break;
case 7:System.out.println("adfblj");break;
case 8:System.out.println("adfblfgjh");break;
case 9:System.out.println("adfbldghfd");break;
case 10:System.out.println("adfbldfdfth");break;
default:
System.out.println("输入的ID有错误!!!");
}
}
}