0

0

分享几个Java编程的典型例子

怪我咯

怪我咯

发布时间:2017-06-25 10:10:35

|

2213人浏览过

|

来源于php中文网

原创

1.模拟酒店房间管理系统,需要如下几个功能:

                     1、1 in 房间号 客人名字 入住功能

                     1、2 out 房间号 退房功能

                     1、3 search 房间号 查询房间状态 如果房间号为-1 则输出所有房间状态

                     1、4 quit 或 exit 退出

立即学习Java免费学习笔记(深入)”;

              提示:酒店所有的房间用二维数组来实现

代码实现如下:

import java.util.Scanner;

public class HotelDemo {
    //写在类里面,则每个方法都可以访问到,避免了参数传递的繁琐;
    static int h=5,w=10;
    static String[][] rooms=new String[5][10];
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner s=new Scanner(System.in);
         while(true){
             System.out.println("请输入  in,out,search,quit:");
             String temp=s.next();
             int room=0;
             if("in".equals(temp)){//防止出现空指针异常;
                 System.out.println("输入房间号:");
                 room=s.nextInt();
                 System.out.println("输入名字:");
                 String name=s.next();
                 if(in(room,name)) System.out.println("入住完成!");
                 System.out.println("room"+room+"name"+name);
             }else if("out".equals(temp)){
                 System.out.println("输入房间号:");
                 room=s.nextInt();
                 if(out(room)) System.out.println("退房完成!");
                 System.out.println("out"+room);
             }else if("search".equals(temp)){
                 System.out.println("输入房间号(-1代表全部):");
                 room=s.nextInt();
                 search(room);
             }else if("quit".equals(temp)||"exit".equals(temp)){
                 break;
             }else{
                 System.out.println("命令错误!");
             }
         }
     }

     private static boolean search(int room) {
         if(room==-1){
             //打印所有的信息;
             for(int i=0;i=h||c<0||c>=w){
                 System.out.println("房间号错误!");
                 return false;
             }
             System.out.println(rooms[r][c]==null?"empty":rooms[r][c]);
             return true;
         }
     }

     private static boolean out(int room) {
         int r=room/100-1;
         int c=room%100-1;
         if(r<0||r>=h||c<0||c>=w){
             System.out.println("房间号错误!");
             return false;
         }
         if(rooms[r][c]==null||"".equals(rooms[r][c])){//
             System.out.println("此房间没有人!");
             return false;
         }
         rooms[r][c]=null;
         return true;
     }

     private static boolean in(int room, String name) {
         int r=room/100-1;
         int c=room%100-1;
         if(r<0||r>=h||c<0||c>=w){
             System.out.println("房间号错误!");
             return false;
         }
         if(rooms[r][c]!=null){//
             System.out.println("此房间已经有人!");
             return false;
         }

         rooms[r][c]=name;
         return true;

     }

 }

2.螺旋矩阵  例

import java.util.Scanner;
 
public class SpiralSquare01{
 
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner s=new Scanner(System.in);
        System.out.println("请输入螺旋方阵的长");
        int indexY=s.nextInt();
        System.out.println("请输入螺旋方阵的宽");
        int indexX=s.nextInt();
        if(indexX<=0||indexY<=0){
            System.out.println("输入的数字不合法!");
            return;
        }
        int[][] square=new int[indexX][indexY];
        int x=0;
        int y=0;
        for(int i=1;i<=indexX*indexY;){
            while(y0&&square[x-1][y-1]==0){
                square[x-1][--y]=i++;
            }
            --x;
            while(x>1&&square[x-1][y]==0){
                square[--x][y]=i++;
            }
            y++;
        }
        for(int i=0;i

运行结果:

3.经典数学问题:百鸡问题的变形

自学 PHP、MySQL和Apache
自学 PHP、MySQL和Apache

本书将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几个经典且实用的例子。 本书是第4版,经过了全面的更新、重写和扩展,包括PHP5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web2.0以及Web应用需要注意的安全

下载

题目描述:有36个人,36块砖,每人搬了一次,正好搬完。其中男每人每次搬4块,女每人每次搬3块,小孩两人每次搬一块。问 男、女、小孩各多少人?

public class TestBrick {
    public static void main(String[] args) {
        int manNum=0;
        int womanNum=0;
        for(int i=0;i<=9;i++){
            for(int j=0;j<12;j++){      
                if(((i*4+j*3+(36-i-j)/2)==36)&&((36-i-j)%2==0)){
                    //注意:孩子的人数必须是偶数,否则会出现一个孩子一次也没有搬的情况,不符合题意
                    manNum=i;
                    womanNum=j;
                    System.out.println("男的的人数是"+manNum);
                    System.out.println("女的的人数是"+womanNum);
                    System.out.println("孩子的人数是"+(36-manNum-womanNum));
                }
            }
        }  
    }
 
}

4.倒计时的算法:输入一个秒数,要求转换为XX小时XX分XX秒的格式输出出来

import java.util.Scanner;
 
public class TestTime {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        @SuppressWarnings("resource")
        Scanner s=new Scanner(System.in);
        System.out.println("请输入秒数:");
        int second =s.nextInt();
        int hour=second/3600;
        int minite=second%3600/60;
        int sec=second%60;
 
        System.out.println("转换后为:"+hour+"小时"+minite+"分"+sec+"秒");
         
    }
 
}

5.密码的自动生成器:密码由大写字母/小写字母/数字组成,生成六位随机密码;

//密码的自动生成器:密码由大写字母/小写字母/数字组成,生成六位随机密码;
import java.util.Random;
 
public class TestPassword {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
               char[] pardStore=new char[62];
                 //把所有的大写字母放进去
                   for(int i=0;i<20;i++){
                       pardStore[i]=(char)('A'+i);
                   }
                 //把所有的小写字母放进去
                   for(int i=26;i<52;i++){
                       pardStore[i]=(char)('a'+i);
                   }
                    
                   //吧0到9放进去
                   for(int i=52;i<62;i++){
                       pardStore[i]=(char)('0'+(i-52));
                   }
                    
                   //生成6位随机密码
                   Random r=new Random();
                   for(int i=0;i<6;i++){
                       int n=r.nextInt(62);
                       System.out.print(pardStore[n]);
                   }
               }
    }

6.写一个彩票的生成代码: 1-33随机选7个不重复的数字;

import java.util.Random;

//写一个彩票的生成代码: 1-33随机选7个不重复的数字;
public class TestLuckyTicket {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int[] luckTickets=new int[7];
         
         Random r=new Random();
         for(int i=0;i

7.定义一个字符串变量String str="床前明月光,疑是地上霜。举头望明月,低头思故乡。"。打印成如下格式的:

低  举  疑  床

头  头  是  前

思  望  地  明

故  明  上  月

乡  月  霜  光

。  ,  。  ,

public class TestPoet {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
            String str="床前明月光,疑是地上霜。举头望明月,低头思故乡。";
            char[] poet=str.toCharArray();
            int l=18;
            boolean flag=true;
            int i=0;
            while(flag){
                for(int j=l;j>=(0+i);){
                    System.out.print(poet[j]);
                    j=j-6;
                }
                System.out.println();
                l++;
                i++;
                if(l==24){flag=false;}
            }
    }
 
}

8.九宫格的输出:九宫格就是每一行,每一列,斜着的一列和反斜着的一列的所在的数字之和均相等;最基本的是三行三列=9格就是很出名的九宫格;还可以推广到5*5=25个格;只要行和列的个数均相等并且是奇数就可以;

import java.util.Scanner; public class JiuGongGe {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         @SuppressWarnings("resource")
         Scanner s=new Scanner(System.in);
         System.out.println("请输入一个大于等于3的奇数");
         int length=s.nextInt();
         if(length<3||length%2==0){
             System.out.println("输入的数字不合法!");
             return;
         }
         int[][] nineTable=new int[length][length];
         int indexX=0;
         int indexY=0;
         indexY=(nineTable.length-1)/2;
         nineTable[indexX][indexY]=1;
         for(int i=1;i=nineTable.length&&indexX>=0){
                 indexY=0;
             }else if(indexX<0&&indexY=nineTable.length&&indexX<0){
                 indexY--;
                 indexX=indexX+2;
             }else if(nineTable[indexX][indexY]!=0){
                 indexY--;
                 indexX=indexX+2;
             }
             nineTable[indexX][indexY]=i+1;

         }
         for(int i=0;i					

相关专题

更多
Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

3

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

41

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

22

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

292

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

79

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

14

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

6

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

34

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2.8万人学习

C# 教程
C# 教程

共94课时 | 7.3万人学习

Java 教程
Java 教程

共578课时 | 49.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号