| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 718 人关注过本帖
标题:帮忙看看,红色处有错误
只看楼主 加入收藏
c_acceleration
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2008-4-28
收藏
 问题点数:0 回复次数:2 
帮忙看看,红色处有错误
程序一:(红色处出现异常
package test;
import java.util.Scanner;
public class Test {
    /*int[] array=new int[]{2,3,1,5,4};*/
    int[] array=new int[5];
    public void input() {
        Scanner scan=new Scanner(System.in);
        for(int i=0;i<array.length;i++)
            array[i]=scan.nextInt();
        scan.close();
    }
    public void insertSort(){
        for(int i=1; i<array.length; i++){
            if(array[i]<array[i-1]){
                int temp=array[i];
                array[i]=array[i-1];
                int j=i-1;
                for (; j>=0 && temp<array[j]; --j)
                    array[j+1] = array[j];
                array[j+1] = temp;
            }
        }
    }
    public int search(int key){
        int low=0,high=array.length-1;
        while(low<high){
            int mid=(low+high)/2;
            if(array[mid]<key) low=mid+1;
            else if(array[mid]>key) high=mid-1;
            else return mid;
        }
        return -1;
    }
    public void print(){
        for(int i=0; i<array.length; i++)
            System.out.print(array[i]+" ");
        System.out.println();
    }
    public int scan(){
        System.out.println("输入查找的元素,返回在排序后该元素的数组下标");
        Scanner s=new Scanner(System.in);
        int key=s.nextInt();
        s.close();
        return key;
    }
    public static void main(String[] args){
        try{
            Test test=new Test();
            test.input();  //可选
            test.insertSort();
            test.print();
            int key=test.scan(); //可选
            int index=test.search(key); //可选
            /*System.out.println(test.search(2);*/
            if(index<0)
                System.out.println("未找到!");
            else System.out.println(index);
        }catch(Exception e){
            System.out.println("出现异常!");
        }finally{
            System.out.println("结束!");
        }
    }
}

程序二:(已解决)
package test;
import java.util.*;
public class Student implements Comparable<Student>{
    private String name;
    private int age;
    public Student (String name, int age)
    {  this.name=name;   this.age=age;  }
  
    public boolean equals(Object o) {
          if(this==o)  return true;
          if(!(o instanceof Student))  return false;
          Student other=(Student)o;
          return (other.name==this.name && other.age==this.age) ? true :  false;
    }   
    public int hasCode(){
        int result;
        result=(name==null  ? 0 : name.hashCode());
        return result*124+age*23;
    }
    public int compareTo(Student stu) {
          if((stu.name)>0)  return 1;
          if((stu.name)<0)  return -1;
          if(age>stu.age)  return 1;
          if(age<stu.age)  return -1;
          return 0;
    }
    public static void main(String[] args) {           
        Set<Student> set=new TreeSet<Student>();
        set.add(new Student("Tom",12));
        set.add(new Student("Jack",18));
        Iterator<Student>  iter=set.iterator();
        while(iter.hasNext()){
              Student stu=(Student)(iter.next());
              System.out.println("Student’s name:"+stu.name+"age:"+stu.age);
        }
}

}
Exception in thread "main" java.lang.ClassCastException: test.Student cannot be cast to java.
    at java.util.TreeMap.put(Unknown Source)
    at java.util.TreeSet.add(Unknown Source)
    at test.Student.main(Student.java:30)


[[it] 本帖最后由 c_acceleration 于 2008-6-14 17:58 编辑 [/it]]

[[it] 本帖最后由 c_acceleration 于 2008-6-15 13:12 编辑 [/it]]
2008-06-14 16:45
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
if(array[mid]<key) low=mid+1;
else if(array[mid]>key) high=mid-1;
我java编译器出了问题。。只能看看可能问题

学习需要安静。。海盗要重新来过。。
2008-06-14 19:14
c_acceleration
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2008-4-28
收藏
得分:0 
不是这错,是Scanner在此处出现这个问题

天道酬勤
2008-06-15 13:16
快速回复:帮忙看看,红色处有错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012816 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved