1
从键盘输入一个长整数,求其各位数字之和。【编程技巧】 l 如何取一个数的最低位; l 如何计算去掉最低进后的数; l 如何设置循环的条件;
【思考】如何修改程序,使程序的输出形式为: 54237=5+4+2+3+7=21

2
用任意的25个整数初始化一个5X5的二维int类型数组,并逐行打印。
交换沿对角线上对称的元素,并打印转置后的矩阵。

3
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;③输出10个数。

4
编写方法,接收三个整型参数,分别表示三角形的三个边,若为等腰三角形但不是等边三角形,返回true,否则返回false.

5
用递归调用的方法求写一个求n! 的函数,在主函数中输入一个整数,输出该数的阶乘。

6
用循环语句打印一个99乘法表。

7
编写程序,求100-200之间的素数。

8
编程求ax2+bx+c=0 的根

9
编写程序,用尽可能少的语句判断一个整数是否是闰年,是返回true,否返回false。
 
10
有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中的第几个元素的值。如果该数不在数组中,则输出“无此数”.

11
找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

12
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少桃子。

13
将一个文本文件输出到屏幕上

14
编写程序,判断一个整型数是否是水仙花数。 水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=3<sup>3</sup>+7<sup>3</sup>+1<sup>3</sup>,371就是一个水仙花数。

15
Vehicle类的基础上创建一个Tractor(拖拉机)类,他不但拥有journey,wheelNum,loadNum,driveSpeed 四种属性和driveAt()方法,而且还拥有自己的plough(耕地)方法,
在该方法中要求能够显示journey, wheelNum, loadNum三个属性的值,在Tractor中覆盖driverAt()方法,速度大于等于35就认为是超速,如果是超速速度就要设为20,
在这个类中还要创建一个main()方法,分别调用plough()、driveAt方法和Vehicle类的driverAt()方法。
Public class Vehicle{
 public float journey;       
 public int wheelNum;        
 public int loadNum;        
 public int driveSpeed;     
 
 public Vehicle(){
  journey=100.3f;
  wheelNum=4;
  loadNum=1;
  
  }
 public void driveAt(int speed){
  if (speed>=60){
   System.out.println("行车速度太快,容易造成事故");
   //如果要求的车速太快,则机动车自动以40单位速度行驶
   driveSpeed=40;
   }
  else {
   System.out.println("你在安全行驶速度内行驶");
   driveSpeed=speed;
   }
  }
  }
 
16
编程求1!+2!+3!+4!+...+n!

17
定义一个抽象类Shape用于描述图形,具有“名称”(name)属性以及计算其面积和周长的两个抽象方法GetArea()和GetLength()。定义一个最终类Circle继承自类Shape,增加了一个描述半径的属性radius及带参的构造函数用于该类对象的初始化操作,同时实现了Shape类中的两个抽象方法来计算圆的面积和周长。定义一个最终类Rectangle继承自类Shape,增加了两个属性length和width用于描述矩形的长和宽及带参的构造函数用于完成对该类对象的初始化,同时实现了Shape类中的两个抽象方法来计算矩形的面积和周长。

18
π/4=1-1/3+1/5-1/7+… ,编写程序,求π的值,直到最后一项的绝对值小于10的-6次方。

19
按程序模板要求,将注释处替换为Java程序代码
该程序将已存在的文本文件加密后存入另一个文本文件中。请按模板要求,将【代码1】~【代码6】替换为Java程序代码
SecretExample.java
import java.io.*;
public class SecretExample

   public static void main(String args[ ])
   {
      File fileOne=new File("hello.txt"),
         fileTwo=new File("hello.secret");
      char b[]=new char[100];
      try{
           FileReader in=【代码1】    // 创建指向fileOne的字符输入流
           FileWriter  out=【代码2】     // 创建指向fileTwo字符输出流
           int n=-1;
           while((n=in.read(b))!=-1)
            {
                for(int I=0;I<n;I++)
                 {
                    b[I]=(char)(b[I]^'a');
                 }
               【代码3】         //  out将数组b的前n单元写到文件
            }
           【代码3】             // out关闭
           in=【代码4】           // 创建指向fileTwo的字符输入流
           System.out.println("加密后的文件内容:");
           while((n=in.read(b))!=-1)
           {
               String str=new String(b,0,n);
               System.out.println(str);
           }
           in=【代码5】         // 创建指向fileTwo的字符输入流
           System.out.println("解密后的文件内容:");
           while((n=in.read(b))!=-1)
            {
                for(int I=0;I<n;I++)
                 {
                    b[I]=(char)(b[I]^'a');
                 }
                System.out.printf(new String(b,0,n));
            } 
           【代码6】           // in关闭
         }
      catch(IOException e)
         {
           System.out.println(e);
         } 
   }
}

20
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

21
用递归调用的方法求写一个求n! 的函数,在主函数中输入一个整数,输出该数的阶乘。

22
按模板要求,将【代码1】~【代码14】替换为Java程序代码。 该给文件的内容添加行号。
ReadExample.java
import java.io.*;
public class ReadExample

   public static void main(String args[ ])
   {
      File file=new File("c:/1000","hello.txt");
      File tempFile=new File("temp.text");
      try{
           FileReader  inOne=【代码1】  // 创建指向文件file的输入流
           BufferedReader inTwo=【代码2】//创建指向inOne file的输入流
           FileWriter  tofile=【代码3】//创建指向文件tempFile的输出流
           BufferedWriter out=【代码4】// 创建指向tofile的输出流
           String s=null;
           int I=0;
           s=【代码5】                        // inTwo读取一行
           while(s!=null)
           {
               I++;
               out.write(I+" "+s);
               out.newLine();
               s=【代码6】                    // inTwo读取一行
           }
           inOne.close();
           inTwo.close();
           out.flush();
           out.close();
           tofile.close();
           inOne=【代码7】    // 创建指向文件tempFile的输入流
           inTwo= 【代码8】     // 创建指向inOne file的输入流
           tofile=【代码9】       // 创建指向文件file的输出流
           out=【代码10】          // 创建指向tofile的输出流
           while((s=【代码11】)!=null)   // inTwo读取一行
           {
              out.write(s);
              out.newLine();
           }
           inOne.close();
           inTwo.close();
           out.flush();
           out.close();
           tofile.close();
           inOne=【代码12】      // 创建指向文件file的输入流
           inTwo=【代码13】    // 创建指向inOne file的输入流
            while((s=【代码14】)!=null) // inTwo读取一行
           {
             System.out.println(s);
           }
           inOne.close();
           inTwo.close();
           tempFile.delete();
      }
      catch(IOException e)
      {
           System.out.println(e);
      } 
   }
}

23
编程实现Fibonacci数列。Fibonacci数列的定义为:
 F1=1,
 F2=1,
 …
 Fn=Fn-1+Fn-2       (n>=3)
 提示:关键代码如下:
        f[0]=f[1]=1;
        for(I=2;I<10;I++)
               f[I]=f[I-1]+f[I-2];
 
24
有17个人围成一个圈(编号0-16),从第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号?

25
求两正整数的最大公约数和最小公倍速数,用一个函数求最大公约数,另一个函数求最小公倍数。

26
设计并实现一个Teacher类。具有教师编号、姓名、性别、职称等属性。定义一个构造方法,接收数值并初始化上述的数据。
创建所有属性的set和get方法,set方法用来接收一个数值并用它来设置属性的值,get方法返回该属性的值。
在Teacher类中有一个方法setStuName可以用来设置学生(Student)的姓名,创建一个School类,可以用来管理Teacher对象。

27
用类来描述游戏角色的交手次数、经验值、生命值之间的关系,并断定角色决斗的胜负。

28
编程采用冒泡法实现对数组元素由小到大排序。
冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。

29
按模板要求,将【代码1】~【代码10】替换为Java程序代码。
StringExample.java
class StringExample
{
    public static void main(String args[ ])
    {
        String s1=new String("you are a student"),
             s2=new String("how are you");
        if (【代码1】)  // 判断s1与s2是否相同
         {
            System.out.println("s1与s2相同");
         }
        else
         {
           System.out.println("s1与s2不相同"); 
         }
         String s3=new String("22030219851022024");
         if (【代码2】)   // 判断s3的前缀是否是“220302”
         {
             System.out.println("吉林省的身份证");
         }
         String s4=new String("你"),
              s5=new String("我");
         if(【代码3】)   // s4大于s5
         {
             System.out.println("s4大于s5");
         }
         else
         {
             System.out.println("s4小于s5");
         }
         int position=0;
         String path="c:\\java\\jsp\\A.java";
         position=【代码4】        // 获取path中最后出现目录分隔符号的位置
         System.out.println("c:\\java\\jsp\\A.java中最后出现\\的位置:"+position);
         String fileName=【代码5】  // 获取path中“A.java”子字符串
         System.out.println("c:\\java\\jsp\\A.java中含有的文件名:"+fileName);
         String s6=new String("100"),
              s7=new String("123.678");
         int n1=【代码6】          // 将s6转化成int型数据
         double n2=【代码7】       // 将s7转化成double型数据
         double n=n1+n2;
         System.out.println(n);
         String s8=new String("ABCDEF");
         char a[ ]=【代码8】         // 将s8存放到数组a中
         for(int I=a.length-1;I>=0;I--)
          {
             //【代码9】  打印 a[I]
          }
    }
}

30
十进位制数转换二、八和十六进制数程序。

31
从键盘输入20个学生的英语成绩存入一个数组中。
(1)输出数组所有元素,每行输出3个数;
(2)求最高分、最低分;

32
有一个数组,内放10个整数,要求找出最小的数和它的下标。

33
用递归调用的方法求写一个求n! 的函数,在主函数中输入一个整数,输出该数的阶乘。
 
34
编写一个名为“复数”的类,包含复数的实部和虚部(数据成员),以及复数之间的基本算术运算:加、减(方法成员),并要求复数加减运算,
程序运行中能对给定的复数进行运算,并打印运算的结果。

35
定义一个“圆”类Circle,该圆类的数据成员包括:圆心点位置及圆的半径;方法成员有:设置圆心位置和半径的方法,获取圆心位置和半径的方法及构造方法。
要求构造方法可以接收圆心位置参数,而半径使用缺省值1。编写完整的程序并创建Circle类的对象,并且分别调用各种方法,对比这些方法的执行结果。
定义以上圆类Circle的子类SubCircle,使它具有获取半径方法、设置半径方法和构造方法,要求构造方法可同时接收圆心位置及半径两个参数。
编写完整的程序并创建SubCircle类的对象

36
判断回文数(逆序排列后得到的数和原数相同)。给定一个1-99999之间的数,程序可以判断它的位数,并判断是否是回文数

37
杨辉三角