最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java編程學習的幾個典型實例詳解

 更新時間:2017年02月24日 10:09:35   作者:chung001  
這篇文章主要給大家介紹了Java編程學習的幾個典型實例,其中包括模擬酒店房間管理系統(tǒng)、螺旋矩陣 例或者百雞問題的變形等經典實例,具體來一起看詳細內容吧,需要的朋友可以參考學習。

一、模擬酒店房間管理系統(tǒng),需要如下幾個功能:

                     1、1 in 房間號 客人名字 入住功能

                     1、2 out 房間號 退房功能

                     1、3 search 房間號 查詢房間狀態(tài) 如果房間號為-1 則輸出所有房間狀態(tài)

                     1、4 quit 或 exit 退出

              提示:酒店所有的房間用二維數組來實現

代碼實現如下:

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;i++){
    for(int j=0;j<w;j++){
     int room2=(i+1)*100+j+1;
     System.out.print(room2+"\t");
    }
    System.out.println();
    for(int k=0;k<w;k++){
     System.out.print(rooms[i][k]==null?"empty":rooms[i][k]);
     System.out.print("\t");
    }
    System.out.println();
    System.out.println();
   }
   return true;
   
  }else{
   int r=room/100-1;
   int c=room%100-1;
   if(r<0||r>=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;

 }

}

二、螺旋矩陣  例

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(y<square[x].length-1&&square[x][y+1]==0){
    square[x][y++]=i++;
   }
   while(x<square.length&&square[x][y]==0){
    square[x++][y]=i++;
   }
   while(y>0&&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<square.length;i++){
   for(int j=0;j<square[i].length;j++){
    System.out.print(square[i][j]+"\t");
   }
   System.out.println();
  }
 }
}

運行結果:

三、經典數學問題:百雞問題的變形

題目描述:有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));
    }
   }
  } 
 }
 
}

四、倒計時的算法:輸入一個秒數,要求轉換為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+"秒");
   
 }
 
}

五、密碼的自動生成器:密碼由大寫字母/小寫字母/數字組成,生成六位隨機密碼;

//密碼的自動生成器:密碼由大寫字母/小寫字母/數字組成,生成六位隨機密碼;
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]);
     }
    }
 }

六、寫一個彩票的生成代碼: 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<luckTickets.length;i++){
    luckTickets[i]=r.nextInt(8)+1;
    for(int j=0;j<i;j++){
     if(luckTickets[i]==luckTickets[j]){
      i--;
      break;
     }
    }
   }
   for(int i=0;i<luckTickets.length;i++){
    System.out.print(luckTickets[i]+",");
   }
 }

}

七、定義一個字符串變量String str="床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉(xiāng)。"。

打印成如下格式的:

低  舉  疑  床

頭  頭  是  前

思  望  地  明

故  明  上  月

鄉(xiāng)  月  霜  光

。  ,  。  ,

public class TestPoet
 {
 
 /**
  *
 @param args
  */
 public static void main(String[]
 args) {
  //
 TODO Auto-generated method stub
   String
 str="床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉(xiāng)。";
   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;}
   }
 }
 
}

八、九宮格的輸出:九宮格就是每一行,每一列,斜著的一列和反斜著的一列的所在的數字之和均相等;最基本的是三行三列=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*nineTable.length;i++){
   indexX--;
   indexY++;
   if(indexY>=nineTable.length&&indexX>=0){
    indexY=0;
   }else if(indexX<0&&indexY<nineTable.length){
    indexX=nineTable.length-1;
   }else if(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<nineTable.length;i++){
   for(int j=0;j<nineTable[i].length;j++){
    System.out.print(nineTable[i][j]+" ");
   }
   System.out.println();
   System.out.println();
  }
  
 }

 }

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Java數據結構之數組(動力節(jié)點之Java學院整理)

    Java數據結構之數組(動力節(jié)點之Java學院整理)

    這篇文章主要介紹了Java數據結構之數組(動力節(jié)點之Java學院整理)的相關資料,包括創(chuàng)建和內存分配,數組封裝后的使用等,需要的朋友參考下吧
    2017-04-04
  • Java雙色球系統(tǒng)開發(fā)詳解

    Java雙色球系統(tǒng)開發(fā)詳解

    這篇文章主要為大家詳細介紹了Java雙色球系統(tǒng)的開發(fā),超級簡單的邏輯,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • JAVA String.valueOf()方法的用法說明

    JAVA String.valueOf()方法的用法說明

    這篇文章主要介紹了JAVA String.valueOf()方法的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 使用idea創(chuàng)建web框架和配置struts的方法詳解

    使用idea創(chuàng)建web框架和配置struts的方法詳解

    這篇文章主要介紹了使用idea創(chuàng)建web框架和配置struts的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot使用Validation包進行輸入參數校驗

    SpringBoot使用Validation包進行輸入參數校驗

    Spring Boot 自帶的 spring-boot-starter-validation 包支持以標準注解的方式進行輸入參數校驗,本文即關注 spring-boot-starter-validation 包所涵蓋的標準注解的使用、校驗異常的捕獲與展示、分組校驗功能的使用,以及自定義校驗器的使用,需要的朋友可以參考下
    2024-05-05
  • 關于Spring不同類型的注入方式 p-namespace,c-namespace

    關于Spring不同類型的注入方式 p-namespace,c-namespace

    這篇文章主要介紹了Spring不同類型的注入方式 p-namespace,c-namespace。具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 解決mybatis中的mapper命名問題

    解決mybatis中的mapper命名問題

    這篇文章主要介紹了解決mybatis中的mapper命名問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java 比較字符串實例詳解

    Java 比較字符串實例詳解

    這篇文章主要介紹了 Java 比較字符串實例詳解的相關資料,需要的朋友可以參考下
    2017-06-06
  • 使用springboot跳轉到指定頁面和(重定向,請求轉發(fā)的實例)

    使用springboot跳轉到指定頁面和(重定向,請求轉發(fā)的實例)

    這篇文章主要介紹了使用springboot跳轉到指定頁面和(重定向,請求轉發(fā)的實例),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 使用SpringBoot發(fā)送郵件的方法詳解

    使用SpringBoot發(fā)送郵件的方法詳解

    這篇文章主要介紹了使用SpringBoot發(fā)送郵件的方法詳解,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2023-05-05

最新評論

玛曲县| 乐陵市| 湖南省| 策勒县| 台前县| 辛集市| 杂多县| 进贤县| 周至县| 兴海县| 涿鹿县| 中方县| 莱州市| 缙云县| 兴城市| 沈阳市| 汉中市| 东城区| 贺州市| 清镇市| 凤凰县| 葫芦岛市| 高要市| 根河市| 安宁市| 沁阳市| 正宁县| 永州市| 石泉县| 武川县| 新化县| 江达县| 房产| 武陟县| 长葛市| 饶阳县| 云霄县| 海丰县| 福安市| 化州市| 天峨县|