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

java實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊

 更新時(shí)間:2022年01月18日 15:06:50   作者:後物  
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java實(shí)現(xiàn)簡(jiǎn)單俄羅斯方塊的具體代碼,供大家參考,具體內(nèi)容如下

結(jié)合網(wǎng)上的資料剛做完課程設(shè)計(jì),具體代碼如下:

public class TetrisPanel extends JPanel{
? ? private final int[][] map = new int[13][23];// map[列號(hào)][行號(hào)]。真正的方塊區(qū)是:21行*10列。邊框(2列,1行)
? ? // 方塊的形狀:
? ? // 第一維代表方塊類(lèi)型(包括7種:S、Z、L、J、I、O、T)
? ? // 第二`在這里插入代碼片`維代表旋轉(zhuǎn)次數(shù)
? ? // 第三四維代表方塊矩陣
? ? // shapes[type][turnState][i] i--> block[i/4][i%4]
? ? int[][][] shapes = new int[][][] {
? ? ? ? ? ? /*
? ? ? ? ? ? ?* 模板 { {0,0,0,0,0,0,0,0, 0,0,0,0, 0,0,0,0}, {0,0,0,0,0,0,0,0, 0,0,0,0,
? ? ? ? ? ? ?* 0,0,0,0}, {0,0,0,0,0,0,0,0, 0,0,0,0, 0,0,0,0}, {0,0,0,0,0,0,0,0, 0,0,0,0,
? ? ? ? ? ? ?* 0,0,0,0} }
? ? ? ? ? ? ?*/
? ? ? ? ? ? // I
? ? ? ? ? ? { { 1, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0 },
? ? ? ? ? ? ? { 1, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0 } },
? ? ? ? ? ? // S
? ? ? ? ? ? { { 0, 0, 1, 1,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 0, 1, 1,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // Z 第3行: shapes[2][2][]
? ? ? ? ? ? { { 1, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 1, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // J
? ? ? ? ? ? { { 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // O
? ? ? ? ? ? { { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // L
? ? ? ? ? ? { { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 0, 0, 1,
? ? ? ? ? ? ? ? 0, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // T
? ? ? ? ? ? { { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 0, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } } };

? ? private int type;
? ? private int turnState;
? ? private int x, y;// 當(dāng)前塊的位置---左上角的坐標(biāo)
? ? private int score = 0;

? ? TimerListener listener1 = new TimerListener(); ? ?//監(jiān)聽(tīng)器
? ? Timer timer = new Timer(1000, listener1); ?//定時(shí)器

? ? public TetrisPanel() {
? ? ? ? newGame();
? ? ? ? nextBlock();
? ? ? ? timer.start();
? ? }

? ? void newGame() {
? ? ? ? // 初始化游戲地圖
? ? ? ? for (int i = 0; i < 12; i++) { ?//列
? ? ? ? ? ? for (int j = 0; j < 21; j++) { ?//行
? ? ? ? ? ? ? ? if (i == 0 || i == 11) {// 邊框
? ? ? ? ? ? ? ? ? ? map[i][j] = 1; ?//透明度
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? map[i][j] = 0;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? map[i][21] = 1;
? ? ? ? }
? ? ? ? score = 0;
? ? }

? ? void nextBlock() {
? ? ? ? type = (int) (Math.random() * 1000) % 7; // 總共七種類(lèi)型
? ? ? ? turnState = (int) (Math.random() * 1000) % 4; // 總共四種轉(zhuǎn)換方法

? ? ? ? x = 3; ? //起始下落坐標(biāo)
? ? ? ? y = 0;
? ? ? ? if (crash(x, y, type, turnState) == 0) {
? ? ? ? ? ? timer.stop();
? ? ? ? ? ? int op = JOptionPane.showConfirmDialog(null,
? ? ? ? ? ? ? ? ? ? "Game Over!...再來(lái)一局嗎?!","提示",JOptionPane.YES_NO_OPTION);
? ? ? ? ? ? if (op == JOptionPane.YES_OPTION) {
? ? ? ? ? ? ? ? newGame();
? ? ? ? ? ? ? ? listener1 = new TimerListener();
? ? ? ? ? ? ? ? Timer timer = new Timer(1000, listener1);
? ? ? ? ? ? ? ? timer.start();
? ? ? ? ? ? } else if (op == JOptionPane.NO_OPTION) {
? ? ? ? ? ? ? ? System.exit(0);
? ? ? ? ? ? }
? ? ? ? }
? ? }

? ? void down() {
? ? ? ? if (crash(x, y + 1, type, turnState) == 0) {// 判斷當(dāng)前塊往下落一格后是否和地圖存在填充塊完全重合---注意實(shí)參:y+1
? ? ? ? ? ? add(x, y, type, turnState);// 把該塊加到地圖---形成堆積塊
? ? ? ? ? ? nextBlock();
? ? ? ? } else {
? ? ? ? ? ? y++;
? ? ? ? }
? ? ? ? repaint(); ? ?//刷新頁(yè)面
? ? }

? ? void left() {
? ? ? ? if (x >= 0) {
? ? ? ? ? ? x -= crash(x - 1, y, type, turnState);
? ? ? ? }
? ? ? ? repaint();
? ? }

? ? void right() {
? ? ? ? if (x < 8) {
? ? ? ? ? ? x += crash(x + 1, y, type, turnState);
? ? ? ? }
? ? ? ? repaint();
? ? }
? ? void turn() {
? ? ? ? if (crash(x, y, type, (turnState + 1) % 4) == 1) {
? ? ? ? ? ? turnState = (turnState + 1) % 4;
? ? ? ? }
? ? ? ? repaint();
? ? }

? ? // 讓一個(gè)塊堆積,其實(shí)是把當(dāng)前塊中的填充塊信息記錄到map[][]中
? ? private void add(int x, int y, int type, int turnState) {
? ? ? ? for (int a = 0; a < 4; a++) {
? ? ? ? ? ? for (int b = 0; b < 4; b++) {
? ? ? ? ? ? ? ? if (shapes[type][turnState][a * 4 + b] == 1) {
? ? ? ? ? ? ? ? ? ? map[x + b + 1][y + a] = 1;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? tryDelLine();
? ? }

? ? // 消塊
? ? private void tryDelLine() {
? ? ? ? // 從上往下,一行行依次遍歷,如果某一行的map[i][j]值全是1,則把這一行消掉---上一行往下落
? ? ? ? for (int b = 0; b < 21; b++) {
? ? ? ? ? ? int c = 1;
? ? ? ? ? ? for (int a = 0; a < 12; a++) {
? ? ? ? ? ? ? ? c &= map[a][b];
? ? ? ? ? ? }
? ? ? ? ? ? if (c == 1) {// 全是1--下落一行
? ? ? ? ? ? ? ? score += 10;
? ? ? ? ? ? ? ? for (int d = b; d > 0; d--) {
? ? ? ? ? ? ? ? ? ? for (int e = 0; e < 11; e++) {
? ? ? ? ? ? ? ? ? ? ? ? map[e][d] = map[e][d - 1];
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }

? ? private int crash(int x, int y, int blockType, int turnState) {
? ? ? ? for (int a = 0; a < 4; a++) {
? ? ? ? ? ? for (int b = 0; b < 4; b++) {
? ? ? ? ? ? ? ? if ((shapes[blockType][turnState][a * 4 + b] & map[x + b + 1][y + a]) == 1) {// 和填充塊或框架重合,都算碰撞
? ? ? ? ? ? ? ? ? ? return 0; // 碰撞了---方塊的填充塊和地圖中的填充塊完全重合
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return 1;// 沒(méi)有碰撞
? ? }

? ? // 表現(xiàn)層
? ? @Override
? ? public void paint(Graphics g) {
? ? ? ? super.paint(g);// 清除殘影

? ? ? ? // 畫(huà)當(dāng)前塊
? ? ? ? for (int j = 0; j < 16; j++) {
? ? ? ? ? ? if (shapes[type][turnState][j] == 1) {
? ? ? ? ? ? ? ? g.setColor(Color.green);
? ? ? ? ? ? ? ? g.fillRect((j % 4 + x + 1) * 30, (j / 4 + y) * 30, 30, 30);
? ? ? ? ? ? }
? ? ? ? }

? ? ? ? // 畫(huà)地圖(整個(gè)游戲的方塊區(qū)和邊框)
? ? ? ? for (int i = 0; i < 12; i++) {
? ? ? ? ? ? for (int j = 0; j < 22; j++) {
? ? ? ? ? ? ? ? if (map[i][j] == 1) {
? ? ? ? ? ? ? ? ? ? g.setColor(Color.black); ? ?//邊框,墻體
? ? ? ? ? ? ? ? ? ? g.fillRect(i * 30, j * 30, 30, 30);// 填充
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? // 顯示分?jǐn)?shù),同時(shí)為版面美觀(guān),在界面上再加點(diǎn)東西
? ? ? ? // 畫(huà)方塊區(qū)右側(cè)部分
? ? ? ? g.setColor(Color.blue);
? ? ? ? g.setFont(new Font("aa", Font.BOLD, 26));
? ? ? ? g.drawString("score : " + score, 395, 100);

? ? ? ? //畫(huà)游戲區(qū)的線(xiàn)格
? ? ? ? for (int i = 1; i < 11; i++) {
? ? ? ? ? ? for (int j = 0; j < 21; j++) {
? ? ? ? ? ? ? ? g.setColor(Color.CYAN);
? ? ? ? ? ? ? ? g.drawRect(i * 30, j * 30, 30, 30);
? ? ? ? ? ? }
? ? ? ? }
? ? }

? ? class TimerListener extends KeyAdapter implements ActionListener {
? ? ? ? @Override
? ? ? ? public void keyPressed(KeyEvent e) {
? ? ? ? ? ? switch (e.getKeyCode()) {
? ? ? ? ? ? ? ? case KeyEvent.VK_DOWN:
? ? ? ? ? ? ? ? case KeyEvent.VK_S:
? ? ? ? ? ? ? ? ? ? down();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case KeyEvent.VK_LEFT:
? ? ? ? ? ? ? ? case KeyEvent.VK_A:
? ? ? ? ? ? ? ? ? ? left();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case KeyEvent.VK_RIGHT:
? ? ? ? ? ? ? ? case KeyEvent.VK_D:
? ? ? ? ? ? ? ? ? ? right();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case KeyEvent.VK_UP:
? ? ? ? ? ? ? ? case KeyEvent.VK_W:
? ? ? ? ? ? ? ? ? ? turn();
? ? ? ? ? ? }
? ? ? ? }

? ? ? ? @Override
? ? ? ? public void actionPerformed(ActionEvent e) {
? ? ? ? ? ? down();
? ? ? ? }
? ? }
}
public class Tetris extends JFrame {

? ? static JButton button1 = new JButton("重來(lái)");
? ? static JButton button2 = new JButton("暫停");
? ? static JButton button3 = new JButton("退出");

? ? static int flag = 0;
? ? Tetris(){
? ? ? ? setTitle("俄羅斯方塊");
? ? ? ? setVisible(true);
? ? ? ? setLocation(450, 100);
? ? ? ? setDefaultCloseOperation(EXIT_ON_CLOSE);
? ? ? ? setSize(550, 697);
? ? ? ? setResizable(false);
? ? ? ? setFocusable(true); ?//表明此 Component 是否可以獲得焦點(diǎn)
? ? }
? ? public static void main(String[] args) {
? ? ? ? Tetris te = new Tetris();
? ? ? ? TetrisPanel tp = new TetrisPanel();
? ? ? ? te.add(tp);

? ? ? ? button1.setBounds(390,300,120,40);
? ? ? ? button2.setBounds(390,390,120,40);
? ? ? ? button3.setBounds(390,480,120,40);
? ? ? ? button1.setFocusable(false);
? ? ? ? button2.setFocusable(false);
? ? ? ? tp.add(button1);
? ? ? ? tp.add(button2);
? ? ? ? tp.add(button3);
? ? ? ? tp.setLayout(null);
? ? ? ? te.addKeyListener(tp.listener1); // 讓框架來(lái)監(jiān)聽(tīng)鍵盤(pán)

? ? ? ? button1.addActionListener(e -> {
? ? ? ? ? ? if(e.getSource() == button1){
? ? ? ? ? ? ? ? tp.timer.stop();
? ? ? ? ? ? ? ? int a = JOptionPane.showConfirmDialog(null, "確定要重新開(kāi)始嗎?","提示",JOptionPane.YES_NO_OPTION);
? ? ? ? ? ? ? ? if(a == JOptionPane.YES_OPTION){
? ? ? ? ? ? ? ? ? ? button2.setText("暫停");
? ? ? ? ? ? ? ? ? ? tp.timer.start();
? ? ? ? ? ? ? ? ? ? tp.newGame();
? ? ? ? ? ? ? ? ? ? tp.nextBlock();
? ? ? ? ? ? ? ? }else if(a == JOptionPane.NO_OPTION){
? ? ? ? ? ? ? ? ? ? System.exit(0);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? button2.addActionListener(e -> {
? ? ? ? ? ? if(e.getSource() == button2){
? ? ? ? ? ? ? ? if(flag == 0){
? ? ? ? ? ? ? ? ? ? button2.setText("繼續(xù)游戲");
? ? ? ? ? ? ? ? ? ? tp.timer.stop();
? ? ? ? ? ? ? ? ? ? flag = 1;
? ? ? ? ? ? ? ? }else if(flag == 1){
? ? ? ? ? ? ? ? ? ? button2.setText("暫停");
? ? ? ? ? ? ? ? ? ? tp.timer.start();
? ? ? ? ? ? ? ? ? ? flag = 0;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? button3.addActionListener(e -> {
? ? ? ? ? ? if(e.getSource() == button3){
? ? ? ? ? ? ? ? tp.timer.stop();
? ? ? ? ? ? ? ? int a = JOptionPane.showConfirmDialog(null,"確定要退出游戲嗎?","退出",JOptionPane.YES_NO_OPTION);
? ? ? ? ? ? ? ? if(a == JOptionPane.YES_OPTION){
? ? ? ? ? ? ? ? ? ? System.exit(0);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? });
? ? }
}

代碼實(shí)現(xiàn)效果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java設(shè)計(jì)模式之觀(guān)察者模式

    Java設(shè)計(jì)模式之觀(guān)察者模式

    這篇文章主要為大家介紹了Java觀(guān)察者模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊(cè)中心的方法

    SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊(cè)中心的方法

    本文主要介紹了SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊(cè)中心,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java通過(guò)Freemarker模板實(shí)現(xiàn)生成Word文件

    Java通過(guò)Freemarker模板實(shí)現(xiàn)生成Word文件

    FreeMarker是一款模板引擎: 即一種基于模板和要改變的數(shù)據(jù), 并用來(lái)生成輸出文本的通用工具。本文將根據(jù)Freemarker模板實(shí)現(xiàn)生成Word文件,需要的可以參考一下
    2022-09-09
  • Springboot整合策略模式詳解

    Springboot整合策略模式詳解

    這篇文章主要介紹了Springboot整合策略模式詳解的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 使用dom4j解析xml文件問(wèn)題

    使用dom4j解析xml文件問(wèn)題

    這篇文章主要介紹了使用dom4j解析xml文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 深入理解Java對(duì)象的序列化與反序列化的應(yīng)用

    深入理解Java對(duì)象的序列化與反序列化的應(yīng)用

    本篇文章是對(duì)Java中對(duì)象的序列化與反序列化進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • java判定數(shù)組或集合是否存在某個(gè)元素的實(shí)例

    java判定數(shù)組或集合是否存在某個(gè)元素的實(shí)例

    下面小編就為大家?guī)?lái)一篇java判定數(shù)組或集合是否存在某個(gè)元素的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • MyBatis-plus批量插入的通用方法使用

    MyBatis-plus批量插入的通用方法使用

    mybatis-plus的IService接口默認(rèn)提供saveBatch批量插入,也是唯一一個(gè)默認(rèn)批量插入,在數(shù)據(jù)量不是很大的情況下可以直接使用,本文帶你詳細(xì)了解MyBatis-plus 批量插入的通用方法及使用方法,需要的朋友可以參考一下
    2023-04-04
  • Java使用POI生成Word文檔簡(jiǎn)單代碼示例

    Java使用POI生成Word文檔簡(jiǎn)單代碼示例

    Java?POI是一個(gè)用于操作Microsoft?Office格式文件的Java庫(kù),包括?Word、Excel和PowerPoint等文件,這篇文章主要給大家介紹了關(guān)于Java使用POI生成Word文檔的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Mybatis環(huán)境配置及測(cè)試詳解

    Mybatis環(huán)境配置及測(cè)試詳解

    這篇文章主要介紹了Mybatis環(huán)境配置及測(cè)試詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論

桃江县| 洛宁县| 咸宁市| 南川市| 汉源县| 军事| 遂宁市| 紫云| 恩施市| 额济纳旗| 响水县| 乌拉特中旗| 法库县| 古浪县| 锡林浩特市| 高邑县| 弥勒县| 抚州市| 永吉县| 阜康市| 榆林市| 乐陵市| 贺兰县| 南涧| 八宿县| 沙河市| 永胜县| 临漳县| 苗栗县| 砚山县| 体育| 中方县| 繁峙县| 滨州市| 桐庐县| 东方市| 南靖县| 积石山| 乌兰浩特市| 陇川县| 鹤峰县|