java 语法练习题

1、编写一个程序在屏幕上输出“Hello Java!”。

public class HelloJava{

  public static void main(String args[]){

System.out.println(“Hello Java!”);

  }

}

 

2、编写一个程序,打印从1到100的值。

public class yi {

  public static void main(String args[]){

    int i;

    for (i=1;i<=100;i++){

      System.out.print("\t"+i);

  }

}

}

 

3、产生一个随机数,并把它输出。

方法一:

import java.util.Random;

public class Randomtest {

  public static void main(String args[]){

      Random a=new Random();

      System.out.println(a.nextInt());

  }

}

方法二:

public class random {

    public static void main(String[] args) {

        System.out.println(Math.random());     //产生一个0~1之间的小数。

    }

}

 

4、产生三个随机数,并把其中的最小数输出。

import java.util.Random;

public class Randomtest {

  public static void main(String args[]){

      Random a=new Random();

      int n1,n2,n3,m1,m2;

      n1=a.nextInt();

      n2=a.nextInt();

      n3=a.nextInt();

      System.out.println("产生的三个随机数分别为:"+n1+"\t"+n2+"\t"+n3);

      m1=n1>n2?n2:n1;

      m2=m1>n3?n3:m1;

      System.out.println("最小数为:"+m2);

  }

}

5、输出1到100之间的偶数。

 

 

6、输出1到100之间的素数。

public class shushu {

  public static void main(String args[]){

    int i,j;

    for (i=2;i<=100;i++){

      for (j=2;j<=Math.sqrt(i);j++){

        if (i%j==0)

             break  //不带标号的break是跳出它所在的循环语句。

      }

      if (j>Math.sqrt(i))

        System.out.print(i+"是素数\t");

     }

  }

}

 

7、根据考试成绩的等级打印出百分制分数段 : GradeLevel.java

知识点:switch语句

public class GradeLevel {

  public static void main(String args[]){

      char grade='D';

      switch(grade){

      case 'A':System.out.println(grade+"is 85~100");break;

      case 'B':System.out.println(grade+"is 70~~84");break;

      case 'C':System.out.println(grade+"is 60~69");break;

      case 'D':System.out.println(grade+"is <60");break;

      default:System.out.println("input error");

      }

  }

}

 

8、使用for循环计算1+2+3+……+100。

public class for1_100 {

  public static void main(String args[]){

      int i,sum=0;

      for (i=0;i<=100;i++){

          sum=sum+i;

      }

      System.out.println(sum);

  }

}

 

9、使用while循环计算1+2+3+……+100。

public class while1_100 {

  public static void main(String args[]){

      int i=0,sum=0;

      while (i<=100){

          sum=sum+i;

          i++;

      }

      System.out.println(sum);

  }

}

 

10、使用do循环计算1+2+3+……+100。

public class do1_100 {

  public static void main(String args[]){

      int i=1,sum=0;

      do{

          sum=sum+i;

          i++;

      }while (i<=100);

      System.out.println(sum);

  }

}

 

11、求一个数的最大真约数.  MaxDiv.java

知识点:break短语

public class MaxDiv {

  public static void main(String args[]){

      int a=98;

      int i=a-1;

      while (i>0){

          if (a%i==0)

              break;

          i- -;

      }

      System.out.println(a+"的最大真约数为:"+i);

  }

}

 

12、定义一个一维数组,再用 for循环输出每个数组元素的值。

知识点:一维数组

public class arrayTest {

  public static void main(String args[]){

      int[] num;        //声明了数组的一个引用

      num=new int[5];   //根据声明创建了一个含有五个数组元素的数组,即给该数组在内存中开辟了内存空间

      for (int i=0;i<num.length;i++)

          System.out.println("num["+i+"]="+num[i]);

     }

}

 

13、编写Fibonacci数列(前20项)计算程序。

知识点:一维数组

public class Fibonacci{

  public static void main(String[] args){

      int f[]=new int[20];//声明一个长度为20的数组

      f[0]=f[1]=1;

      for (int i=2;i<f.length;i++)

          f[i]=f[i-2]+f[i-1];

      for (int i=0;i<f.length;i++)

          System.out.print("\t"+f[i]);

      }

}

 

14、36选7:Rnd_36_7.java。随机产生7个数,每个数在3~36范围内,要求每个数不同。

知识点:一维数组

public class Rnd_36_7 {

    public static void main(String[] args) {

        int a[]=new int[7];

        for(int i=0;i<a.length;i++){

            one_num:

                while(true){

                    a[i]=(int)(Math.random()*36)+1;

                    for(int j=0;j<i;j++)

                        if (a[i]==a[j]) continue one_num;

                    break;

                }

        }

        for (int i=0;i<a.length;i++)

            System.out.print("\t"+a[i]);

    }

}

 

15、输出杨辉三角形。

知识点:二维数组的应用。

public class Yang {

  public static void main(String args[]){

      int [][] pas =new int[6][]; //创建一个含有6行的二维数组,数组名为pas,数组元素类型为int

      for (int i=0;i<pas.length;i++){

          pas[i]=new int[i+1];  //确定数组第i行上含有i+1个列。

          pas[i][0]=1; pas[i][i]=1;

          for (int j=0;j<pas[i].length-1;j++){

              if (j>=1 && i>1)

                  pas[i][j]=pas[i-1][j-1]+pas[i-1][j];

          }

      }

      for (int i=0;i<pas.length;i++){

          for (int j=0;j<pas[i].length ;j++){

              System.out.print (pas[i][j]);

              System.out .print('\t');

          }

          System.out.println();

      }

  }

}

 

16、复制数组示例程序

知识点:arraycopy()

public class ArrayCopy {

  public static void main(String args[]){

      int myarr[]={1,2,3,4,5,6};

      int hold[]={10,9,8,7,6,5,4,3,2,1};

      System.arraycopy(myarr,0,hold,0,myarr.length);

      for (int i=0;i<hold.length;i++){

          System.out.println(hold[i]);

      }

  }

}

 

17、数组元素的排序及对数组元素使用for循环的方法。

import java.util.Arrays;

public class ArrayDemo {

  public static void main(String args[]){

      int[] a={10,7,9,2,4,5,1,3,6,8};

      Arrays.sort(a);

      for (int i:a){

          System.out.println(i);

      }

  }

}

 

18、把一个整数x按大小顺序插入已排好序(从大到小)的数组a中。假设数组a中有10个数。

public class InsertTest {

  public static void main(String args[]){

      int i=0,s=0,x=63;

      int a[]={162,127,105,87,68,54,28,18,6,3};

      for (i=0;i<10;i++)

          if (x>a[i]){

              for (s=8;s>=i;s--)

                  a[s+1]=a[s];

              break;

             

          }

      a[i]=x;

      for (i=0;i<a.length;i++)

          System.out.print(a[i]+"\t");

  }

}

 

19、定义一个Dog类,有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。编写应用程序使用Dog。

public class Dog {

  String DogName,DogColor,DogAge;

  Dog(String DogName,String DogColor,String DogAge){

      this.DogName=DogName;

      this.DogColor=DogColor;

      this.DogAge=DogAge;

  }

  public String toString(){

      return "狗的名字为:"+DogName+"狗的颜色"+DogColor+"狗的年龄"+DogAge;

  }

  public static void main(String args[]){

      Dog a=new Dog("腊肠","棕色","3");

      System.out.println(a);

  }

}

20、定义一个名为MyRectangle的矩形类,类中有4个私有的整型成员变量,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义了无参数的构造方法和有4个int参数的构造方法,用来初始化类对象。类中还有以下方法:

(1)getW() 计算矩形的宽度

(2)getH() 计算矩形的高度

(3)area() 计算矩形的面积

(4)toString() 把矩形的宽、高和面积等信息作为一个字符串返回。

编写应用程序使用MyRectangle类。

public class MyRectangle {

  int xUp,yUp,xDown,yDown;

  MyRectangle(){

      xUp=0;

      yUp=0;

      xDown=0;

      yDown=0;

  }

  MyRectangle(int xUp,int yUp,int xDown,int yDown){

      this.xUp=xUp;

      this.yUp=yUp;

      this.xDown=xDown;

      this.yDown=yDown;

  }

  static int getW(int xUp,int yUp,int xDown,int yDown){

      int width;

      width=xDown-xUp;

      return width;

  }

 int getH(int xUp,int yUp,int xDown,int yDown){

      int Height;

      Height=yDown-yUp;

      return Height;

  }

  int area(int xUp,int yUp,int xDown,int yDown){

      int area=getW(xUp,yUp,xDown,yDown)*getH(xUp,yUp,xDown,yDown);

      return area;

  }

  public String toString(){

      return "长:"+getW(xUp,yUp,xDown,yDown)+"宽"+getH(xUp,yUp,xDown,yDown)+"面积"+area(xUp,yUp,xDown,yDown);

  }

  public static void main(String args[]){

      MyRectangle a=new MyRectangle(1,2,3,4);

      int b=getW(1,2,3,4);

      System.out.println(a);

  }

}

 

21、定义一个表示学生的类Student,包括的成员变量有:学号、姓名、性别、年龄;成员方法有:获得学号、姓名、性别、年龄,修改年龄。编写Java程序,创建Student类的对象并测试其方法。

public class Student {

   String Sno,Sname,Ssex,Sage;

  Student(String Sno,String Sname,String Ssex,String Sage){

      this.Sno=Sno;

      this.Sname=Sname;

      this.Ssex=Ssex;

      this.Sage=Sage;

  }

  Student(){

      this.Sno=null;

      this.Sname=null;

      this.Sage=null;

      this.Ssex=null;

  }

  String get(){    //返回姓名的方法,其它方法与此类似。

     

      return Sname;

  }

 void setAge(String age1){    //当所定义的方法没有返回值时,需要将该方法定义成void型。

      this.Sage=age1;       //修改年龄的方法

     

  }

  public static void main(String args[]){

      Student A=new Student("001","张三风","男","25");  // 创建一个对象

      System.out.println(A.Sno);

      String c=A.get();    //对A对象执行get方法。

      System.out.println(c);

      A.setAge("90");      // 对对象A执行setAge方法。

      System.out.println(A.Sage);  //输出年龄修改后的值,检查setAge方法是否成功。

  }

}

22、定义一个计算矩形面积、立方体和球体积的类。该类完成计算的方法用静态方法实现。

public class mianji {

 public static int Juxing(int chang,int kuan){

     int Juxingmianji;

     Juxingmianji=chang*kuan;

     return Juxingmianji;

 }

 static int lifangti(int chang,int kuan,int gao){

     int lifangtitiji;

     lifangtitiji=chang*kuan*gao;

     return lifangtitiji;

 }

 double qiutiji(double r){

     double qiutiji;

     qiutiji=4/3*(Math.PI)*Math.pow(r,3);    //java.lang包是JAVA默认加载的一个包。

     return qiutiji;

 }

 public static void main(String args[]){

     System.out.println(Juxing(2,3));    //对于静态方法可以直接调用,而不用创建对象。

     System.out.println(lifangti(2,3,4));

     mianji a=new mianji();                //使用非静态方法,需要先创建一个对象a,

     System.out.println(a.qiutiji(3.0));   //然后对这个对象a执行非静态方法。

 }

}

23、设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用户赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息的方法(包含用户名、口令)。编写应用程序测试User类。

public class User {

  String UserName;

  private String UserPassword;  //私有的

  static int UserCount    //静态的。

  User(){

      this.UserName=null;

      this.UserPassword=null;

  }

  User(String UserName){

      this.UserName=UserName;

  }

  User(String UserName,String UserPassword){

      this.UserName=UserName;

      this.UserPassword=UserPassword;

  }

  String getUserPassword(){

      return UserPassword;

  }

  void setUserPassword(String UserPassword){

      this.UserPassword=UserPassword;

  }

  public String toString(){

      return "用户名:"+UserName+"    密码:"+UserPassword;

  }

  public static void main(String args[]){

      User a=new User();

      UserCount++;

      User b=new User("张三丰");

      UserCount++;

      User c=new User("林诗音","123456");

      UserCount++;

      System.out.println(c.getUserPassword());  

      System.out.println(c);   

      b.setUserPassword("7654321");

      System.out.println(b);

      System.out.println(UserCount);

  }

}

24、定义一个Company类,成员变量有公司名称、雇员名称、雇员列表、公司每年的总收入。该类的构造方法可能是如下形式:

public Company(String name) { }

也可以有更多其它形式的构造方法。还应该有如下方法:

public void setName(String name) { }

public String getName(){ }

   此外必须提供一个公共的dump方法来打印有关Company的信息,如公司名称、雇员和公司总收入。最后为Company类编写一个测试程序。

public class Company {

  String CompanyName,customer,money;

  public Company(String name){

      this.CompanyName=name;

  }

  Company(){

      this.CompanyName=null;

      this.customer=null;

      this.money=null;

  }

  Company(String CompanyName,String customer,String money){

      this.CompanyName=CompanyName;

      this.customer=customer;

      this.money=money;

  }

  public void setName(String name){

      this.CompanyName=name;

  }

  public String getName(){

      return CompanyName;

  }

  public String dump(){

      return "公司名称:"+CompanyName+"   雇员:"+customer+"   公司总收入:"+money;

  }

  public static void main(String args[]){

      Company a=new Company("鞍山市广播电视学校","校长,书记","234567");

      System.out.println(a.dump());  

  }

}

25、定义一个Course类,该类的成员变量包括课程号、课程名称、授课教师、课程状态(必修或者选修),所有的成员变量都是私有的,并且有用于访问它们的公共set/get方法。最后为Course类编写一个测试程序。

public class Course {

  private String CourseId,CourseName,Teacher,CourseState;

  Course(String CourseId,String CourseName,String Teacher,String CourseState){

      this.CourseId=CourseId;

      this.CourseName=CourseName;

      this.Teacher=Teacher;

      this.CourseState=CourseState;

  }

  public String getCourseId(){

      return CourseId;

  }

  public void setCourseId(String CourseId){

      this.CourseId=CourseId;

  }

  public static void main(String args[]){

      Course a=new Course("001","语文","李老师","必修");

      System.out.println(a.getCourseId());

      a.setCourseId("002");

      System.out.println(a.CourseId);

  }

}

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值