[编程题] Java基础编程练习题(一)

点击上方“Coder编程”,选择“置顶公众号”

技术文章第一时间送达!

Java基础编程练习题(一)

1.编写一个Java程序,用if-else语句判断某年份是否为闰年。(分支)

// Programme Name LeapYear.java
public class LeapYear{
public static void main(String args[]){
int year=2010; 
if(args.length!=0)
  year=Integer.parseInt(args[0]);
if((year%4==0 && year%100!=0)||(year%400==0))
 System.out.println(year+" 年是闰年。");
else
 System.out.println(year+" 年不是闰年。");
   }
 }//if-else语句

2.编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。(循环)

// programme name ForTest.java
public class ForTest { 
public static void main( String args[] ) {
  int  i,j,mul,sum=0;
for(i=1;i<=10;i++) {
mul=1;
for(j=1,j<=i;j++) {
mul=mul*j;
}
      sum=sum+mul;
}
System.out.println(“1!+2!+3!+……+10!= ”+sum);
}
}

3.依次输入10个学生成绩,判断学生(优秀、良好、中等、及格、不及格)并计算人数

提示:switch

4.使用冒泡排序(数组)

public class BubbleSort {

    public static void main(String[] args) {
        int[] array={63,4,24,1,3,5};
        BubbleSort sorter=new BubbleSort();
        sorter.sort(array);
    }
    //冒泡排序
    public void sort(int[] array){
        for(int i=1;i<array.length;i++)
            for(int j=0;j<array.length-1;j++){
                if(array[j]>array[j+1]){
                    int temp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=temp;
                }
            }
           showArray(array);  
    }
    //遍历数组,并输出数组的元素。
    public void showArray(int[] array){
        for(int i=0;i<array.length;i++){      
            System.out.print(array[i]+"\t");
        }
        System.out.println();
    }
}

5.实现会员注册,要求用户名长度不小于3,密码长度不小于6,注册时两次输入密码必须相同 (字符串)

import java.util.Scanner;
public class Register {
    String name;
    String password;
    String newPassword;
    ///////////
    public void nameExe(){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入用户名,密码和验证密码");
         System.out.print("用户名:");
         name=input.next();
         System.out.print("密码:");
         password=input.next();
         System.out.print("验证密码:");
         newPassword=input.next();

        while(name.length()<3||(password.equals(newPassword)==false)
                ||(password.length()<6)){
            if(name.length()<3){
            System.out.println("用户名不能小于3");
            }
            if((password.equals(newPassword)==false)||password.length()<6){
            System.out.println("两次输入密码不一样或密码不能小于6位");   
            }
            System.out.println("\n"+"请重新输入");
             System.out.print("用户名:");
             name=input.next();
             System.out.print("密码:");
             password=input.next();
             System.out.print("验证密码:");
             newPassword=input.next(); 
        }
         System.out.println("注册成功!");
        }   
        }

 public class Verify {
    public static void main(String[] args) {
        Register m1=new Register();
        m1.nameExe();
    }
}

6.一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出,然后写出测试类测试该类(类的基本实现)

public class Tourist {
    int age;
    int ticketPrice;

    public void setAge(int age){
        this.age=age;   
    }

     public void ticket(){
         if(age>0&&age<12)
             ticketPrice=20;
         else if(age<20)
             ticketPrice=40;
         else if(age<50)
             ticketPrice=80;
         else  
             ticketPrice=35;
         System.out.println("门票价格:"+ticketPrice); 
     }
}/////

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        Tourist t1=new Tourist();
        System.out.print("请输入年龄:");
        t1.setAge(input.nextInt());
        t1.ticket();

    }

}

7.按要求实现以下类

(1)编写一个圆类Circle
该类拥有:
①一个成员变量
Radius(私有,浮点型); // 存放圆的半径;
②两个构造方法
         Circle( )                 // 将半径设为0
         Circle(double  r )         //创建Circle对象时将半径初始化为r
③ 三个成员方法
           double getArea( )       //获取圆的面积
           double getPerimeter( )   //获取圆的周长
           void  show( )          //将圆的半径、周长、面积输出到屏幕
(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:
①一个成员变量
double hight(私有,浮点型); // 圆柱体的高;
②构造方法
         Cylinder (double r, double  h )           //创建Circle对象时将半径初始化为r
③ 成员方法
           double getVolume( )             //获取圆柱体的体积
           void  showVolume( )             //将圆柱体的体积输出到屏幕
编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。

//Programme Name TestCylinder.java
 class Circle {                      //定义父类--园类
    private double radius;          //成员变量--园半径
    Circle() {                      //构造方法
        radius=0.0;
    }
    Circle(double r) {              //构造方法 
        radius=r; 
    }
    double getPerimeter() {         //成员方法--求园周长
        return 2*Math.PI*radius;
    }
    double getArea() {              //成员方法--求园面积
        return Math.PI*radius*radius;
    }
    void disp() {                   //成员方法--显示园半径、周长、面积
        System.out.println("圆半径="+radius);
        System.out.println("圆周长="+getPerimeter());
        System.out.println("圆面积="+getArea());   
    }
}

class Cylinder extends Circle {     //定义子类--圆柱类
    private double hight;           //成员变量--园柱高
    Cylinder(double r,double h) {   //构造方法 
        super(r);
        hight=h;
    }
    public double getVol() {        //成员方法--求园柱体积
        return getArea()*hight;
    }
    public void dispVol() {         //成员方法--显示园柱体积
        System.out.println("圆柱体积="+getVol());
    }
}
public class TestCylinder {         //定义主类
public static void main(String[] args) {    //主程入口
    Circle Ci=new Circle(10.0); // 生成园类实例
    Ci.disp(); // 调用园类的方法
        Cylinder Cyl=new Cylinder(5.0,10.0);    //生成圆柱类实例
        Cyl.disp();                             //调用父类方法
        Cyl.dispVol();                          //调用子类方法
    }
}

8.编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。(异常处理)

//programme name Strinput.java
import java.io.*;
public class Strinput 
{
  public static void main(String args[]) {
       String s1=null,s2=null,ss,si,sf;
       int i1,i2;
       float f1,f2;
       BufferedReader strin=new  BufferedReader(new InputStreamReader(System.in));
       try{System.out.print ("输入第一个字符串:" );
           s1= strin.readLine();
           System.out.print ("输入第二个字符串:" );
           s2= strin.readLine();}
       catch(Exception e){ System.out.println(e.getMessage());}
       i1 = Integer.parseInt(s1);
       i2 = Integer.parseInt(s2);
       f1 = Float.parseFloat(s1);
       f2 = Float.parseFloat(s2);
       ss = strAdd(s1,s2);
       si = strAdd(i1,i2);
       sf = strAdd(f1,f2);
       System.out.println ("输入的二个字符串相加结果为:"+ss );
       System.out.println ("输入字符串转换为整数相加结果为:"+si );
       System.out.println ("输入字符串转换为浮点数相加结果为:"+sf );
    }
   static  String strAdd(String str1,String str2) {
return str1+str2;
}
static  String strAdd(int int1,int int2) {
return  String.valueOf(int1+int2);
}
static  String strAdd(float flt1,float flt2) {
return  String.valueOf (flt1+flt2);
}
 }

9.应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。

(被读取的文件路径为:E:/myjava/Hello.java)

// Programme Name FISDemo.java
import java.io.*;
  public class FISDemo {
  public static void main(String args[]) {
    byte[] buf=new byte[2056];
    try{
     FileInputStream fileIn=new FileInputStream("e:/myjava/Hello.java");
     int bytes=fileIn.read(buf,0,2056);
     String str=new String(buf,0,bytes);
     System.out.println(str);
}catch(Exception e){
 e.printStackTrace( );
}
}

10. 编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。(文件)

import java.io.*;
  public class IODemo {
    public static void main( String args[] ) {
          int data[] = {100,101,102,103,104,105};
          int[] t=new int[200];
          try{ 
             // File file=new File("dest.txt");
              DataOutputStream out = new  DataOutputStream (new  FileOutputStream("dest.txt"));
          for(int i=0;i<data.length;i++) 
              out.writeInt(data[i]);
          out.close();
          DataInputStream in = new  DataInputStream (new  FileInputStream("dest.txt"));
          //先读出来再倒序输出
          for(int i=0;i<data.length;i++) {
              t[i]=in.readInt();
              }
          for(int i= data.length-1;i>= 0;i--) {
              System.out.print("  "+t[i]);
              }

         /* for(int i= data.length-1;i>= 0;i--) {
              t=in.readInt(data[i]);
              System.out.print("  "+t);
              }*/
          System.out.println( );
          in.close();
          }catch(IOException e)
          {
              System.out.println(e.getMessage());}
          }
      }

推荐

400道——大厂Java选择题

HR面试都会问什么问题?(上)

HR面试都会问什么问题(下)

文末

欢迎关注个人微信公众号:Coder编程
欢迎关注Coder编程公众号,主要分享数据结构与算法、Java相关知识体系、框架知识及原理、Spring全家桶、微服务项目实战、DevOps实践之路、每日一篇互联网大厂面试或笔试题以及PMP项目管理知识等。更多精彩内容正在路上~
新建了一个qq群:315211365,欢迎大家进群交流一起学习。谢谢了!也可以介绍给身边有需要的朋友。

文章收录至
Github: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
欢迎关注并star~

微信公众号

                   我知道你 “在看

版权声明:本文为Michael_HM原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Michael_HM/article/details/105571320

智能推荐

DC-8靶机教程

多喝热水:http://hackergu.com/ 一、主机发现 ​ 使用netdiscover,发现主机IP为192.168.203.134。 二、端口扫描 ​ 目标开放22端口和80端口,web站点是一个DrupalCMS的站点,版本为7。 三、漏洞利用 ​ 我们访问此站点: ​ 关注点为两个红框,如果点击上面那个红框的内容,url显示为: ​ 倘若点击的是下面的红框,则url显示为: ​ 看...

Android VIEW简单绘图

画布canvas 提供两个构造函数: Canvas():创建一个空的Canvas对象 Canvas(Bitmap bitmap):创建一个以bitmap位图为背景的Canvas 常用的Canvas方法: void drawBitmap(Bitmap bitmap,float left,float top,Paint paint):在指定坐标绘制位图 void drawLine(float star...

数据去重的各种方法汇总(三)

Pandas去重DataFrame 接上篇,这篇就剩最后的用Pandas对DataFrame里面的数据去重,这里也有两种方法,可以直接看官方文档(但是掌柜觉得其实就是一种方法,因为第一种只是显示哪些重复。。。): 使用duplicated方法,它会返回一个布尔向量,其长度为行数,表示行是否重复,但是并不会删除重复数据。来看实例: 然后会得到这样一个表格: 现在使用duplicated方法: 会得到...

Linux环境下RabbitMQ消息队列的安装和配置

一、什么是RabbitMQ? RabbitMQ就是一个在AMQP基础上实现的企业级消息系统,简单的说,就是一个消息队列系统。具体的介绍,可以网上去搜!目前只介绍RabbitMQ在Linux系统的安装。 二、RabbitMQ的安装 1、 RabbitMQ是基于Erlang开发,所以使用之前必须安装Erlang语言开发包。 wget http://www.erlang.org/download/otp...

train_test_split切分数据集工具

顾名思义,这是一个切分训练集与测试集的工具   如果我们不使用,而是手动进行划分,要么进行简单的操作——划去前80%为训练集,后20%为测试集,这样会带来很多的问题,因为这样做,我们切出来的会让训练集和测试集的分布很不一致,我们可以看一下简单粗暴方法切出来的分布图: 红色的训练集,蓝色是测试集(点击图片放大可以看得很清楚,直接看博客好像图片模糊)   然...

猜你喜欢

shell编程第一节 和shell

shell编程看的博客感觉写的挺好的:http://www.cnblogs.com/dongying/p/6262935.html 以及  https://www.cnblogs.com/clsn/p/8028337.html#auto_id_0 简单总结:shell编程就是对一堆Linux命令的逻辑化处理。 chmod +x hello_world.sh ./hello_world.s...

微信开发:js sdk 分享(java)

今天记录一下微信jssdk 的分享给朋友的功能,获取config接口注入。 1.需要绑定域名(注意:设置js安全域名的时候,需要设置微信ip白名单,ip白名单新出来的,非白名单内的ip无法获取access_token 更无法获取jsapi) 在设置js 安全域名在 设置–>公众号设置–>功能设置里边 appid appSercret 在开发–>...

js--HTML美术馆

前言 因为之前库房合作的时候交给我一个任务,就是在点击某一项物品的时候显示出几张相印的小图片,然后点击小图片之后显示出一张大图片,因为当时还没有接触JavaScript,所以这方面的知识不是很了解,一直拖着,大概有两天吧,是在是解决不了,于是将这个任务交给了老付和建华,今天在学习JavaScript的时候突然之后就看到了有这么一项功能,于是就有感而发。 内容 首先向大家展示代码。 这部分是HTML...

Jenkins持续集成环境部署(入门篇)

为什么要持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。 价值: 1、减少风险 一天中进行多次的集成,并做了相应的测试,有利于检查缺陷,了解软件的健康状况,减少假定。 2、减少重复过程 节省时间、费用和工作量,通过自动化的持...

linux 下rabbitmq的安装以及设置远程用户访问

安装过程中会有提示,一路输入“y”即可。 完成后安装RabbitMQ: 3.自己建个文件夹 进行下载安装也可  直接执行也可 先下载rpm: 完成后启动服务: 可以查看服务状态: 这里可以看到log文件的位置,转到文件位置,打开文件: 这里显示的是没有找到配置文件,我们可以自己创建这个文件 编辑内容如下: 这里的意思是开放使用,rabbitmq默认创建的用户gue...