当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 环境jb9:在moto t720上做 下了很多资料,甚至用别人的程序都读不到图片 程序如下: protected void paint(graphics g) { try { g.drawimage(image.createimage("/netpic.png"), 0, 0, g.top|g.left); } catch(exception e) { system......
    摘要: 代码 procedure trestree.treeview2mousedown(sender: tobject; button: tmousebutton; shift: tshiftstate; x, y: integer); var p:tpoint; axis_x,axis_y:integer; vl_node:ttreenode; begin if button=mbright......


十万火,大家帮忙看看错在哪里了

import   java.io.BufferedReader;  
  import   java.io.FileReader;  
  import   java.io.IOException;  
  import   java.util.*;  
  import   java.io.*;  
  import   java.util.Arrays;  
   
   
   
  public   class   Part3{    
  final   static   int   SIZE=300;    
  static   StudentRecord[]   record=new   StudentRecord[SIZE];  
  static   int   reamount;    
  public   static   void   main(String[]   args)  
  {  
  if(args.length!=1)  
  {    
  System.out.println("An   input   filename   must   be   specified   as   a   command   line   argument");    
  System.exit(1);    
  }  
  String   filename   =   args[0];    
  FileReader   fileInput   =   null;    
  try   {    
  fileInput   =   new   FileReader(filename);    
  }  
  catch(Exception   e){    
  System.out.println("Failed   to   get   file   because"   +   e);    
  System.exit(1);    
  }  
  process(fileInput);    
  sort();    
  print(record);    
  try{  
  fileInput.close();    
  }catch(IOException   ioe){}    
  }  
           
   
   
  public   static   void   process(FileReader   fileinput)  
                  {  
                          int   i=0;  
                          BufferedReader   input   =   new   BufferedReader(fileinput);  
                          for(;;i++)  
                          {  
                                  String   line   =null;  
  try{  
  line   =   input.readLine();  
  }  
  catch(IOException   ioe)   {}  
  if((line==   null)||line.equals("")){  
  break;  
  }  
  StringTokenizer   l   =   new   StringTokenizer(line);  
  String id=new   String(l.nextToken());  
  String name=l.nextToken();  
  String init=l.nextToken();  
                          double[]   Emark=new   double[6];  
  for(int   j=0;j<6;j++)  
  {  
                                          Emark[j]=Double.parseDouble((String)l.nextToken());  
                                    }  
  record[i]=new   StudentRecord(id,name,init,Emark[0],Emark[1],Emark[2],Emark[3],Emark[4],Emark[5]);  
  }  
   
  reamount=i;  
                  try   {  
                                  input.close();  
                          }  
                          catch(IOException   ioe)   {}  
  }  
                 
         
         
          public   static   int   scaleMark(double   examMark,   double   totalMark)  
  {  
  //   SITACS   authorized   fudging   of   marks   to   downgrade   assignments  
  //   when   exam   result   suggests   student   probably   didnt   do   the   assignment   work  
  double   finalMark   =   0.0;  
  if(examMark   >=   25.0) {   finalMark   =   totalMark;   }  
  else   {  
  double   assignmentMark   =   totalMark   -   examMark;  
  finalMark   =   examMark   +   (examMark*assignmentMark)/25.0;  
  }  
  //   Further   fudging   of   marks   to   avoid   tiresome   appeals   from   pestilential   students  
  if((finalMark   >=43.0)&&(finalMark<45.0))finalMark=45.0;  
  else  
  if((finalMark   >=48.0)   &&(finalMark<50.0))finalMark=50.0;  
  else  
  if((finalMark>=63.5   )&&   (finalMark<65.0))finalMark=65.0;  
  else  
  if((finalMark>=73.5)   &&   (finalMark<75.0))finalMark=75.0;  
  else  
  if((finalMark>=83.5)   &&   (finalMark<85.0))finalMark=85.0;  
  return   ((int)(finalMark+0.5));   //   round   to   nearest   integer  
  }  
   
  //function   to   sort   the   record   according   to   the   final   exam   mark  
  private   static   void   sort()  
  {  
   
  Arrays.sort((object[])record);  
   
  }  
   
   
        private   static   void   print(StudentRecord[]   srecord)  
        {  
                          for(int   i=reamount-1;i>=0;i--)  
                          {  
                                  System.out.println(srecord[i].toString());  
                          }  
        }  
  }  
                                                   
                                                   
  //*   definition   for   StudentRecord   class  
  class   StudentRecord   implements   Comparable  
  {  
        private   String   sid,sname,sinit;  
        private   double   []mark=new   double   [6];  
        private   int   markfinal;  
         
        //constructor  
        StudentRecord(   String   id,   String   name,   String   init,double   mark1,   double   mark2,   double   mark3,   double   mark4,   double   mark5,   double   mark6)  
        {  
              sid=id;  
      sname=name;  
      sinit=init;  
      mark[0]=mark1;  
      mark[1]=mark2;  
      mark[2]=mark3;  
      mark[3]=mark4;  
      mark[4]=mark5;  
      mark[5]=mark6;  
      double   totalmark=0.0;  
      for(int   index=0;index<6;index++)  
      {  
              totalmark+=mark[index];  
      }  
      markfinal=Part3.scaleMark(mark[5],totalmark);  
  }  
   
  //String   toString()     function   to   return   the   student   record  
  public   String   toString()  
  {  
        String   temp=new   String();  
        temp=sid+\t+sname+\t+sinit+\t+String.valueOf(markfinal);  
        return(temp);  
    }  
     
  public   int   compareTo(Object   o)  
  {  
    StudentRecord   other=(StudentRecord)o;  
  long   result=markfinal-other.markfinal;  
  if(result!=0)  
  return   (int)   result;  
  result=sname.compareTo(other.sname);  
  if(result!=0)  
    return   (int)   result;  
  result=sinit.compareTo(other.sinit);  
    if(result!=0)  
  return   (int)   result;  
  result=sid.compareTo(other.sid);  
  return   (int)   result;  
  }  
   
   
  }  
       
   
   
  编译后报错::  
  java.lang.NullPointerException  
  at   StudentRecord.compareTo(Part3.java:155)  
  at   java.util.Arrays.mergeSort(Arrays.java:1124)  
  at   java.util.Arrays.mergeSort(Arrays.java:1131)  
  at   java.util.Arrays.mergeSort(Arrays.java:1131)  
  at   java.util.Arrays.mergeSort(Arrays.java:1132)  
  at   java.util.Arrays.mergeSort(Arrays.java:1131)  
  at   java.util.Arrays.mergeSort(Arrays.java:1132)  
  at   java.util.Arrays.mergeSort(Arrays.java:1132)  
  at   java.util.Arrays.sort(Arrays.java:1074)  
  at   Part3.sort(Part3.java:102)  
  at   Part3.main(Part3.java:31)  
  Exception   in   thread   "main"   Process   completed   with   exit   code   1  
   
   
  究竟错在哪里了。大家帮帮忙我很急的!!!  
   
   
   
  十万火急!!!

NO.1   作者: fpwang

final   static   int   SIZE=136;    
  Arrays操作的对象不能为空  
  改了之后就没问题了


    摘要: 用电话线对联的两个计算机如何编程实现对话?不知对方的ip啊! ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE