最新【基于Swing,linux服务器开发面试题(1),4年小Linux运维的心路历程

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

if (dijiguan >= 6 && dijiguan <= 8)

Thread.sleep(1000 - (dijiguan - 5) * 50);

if (dijiguan > 8)

Thread.sleep(850 - (dijiguan - 8) * 20);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

public void paintComponent(Graphics g) {

super.paintComponent(g);

//是父类JPanel里的方法,会把整个面板用背景色重画一遍,起到清屏的作用

g.drawImage(ii.getImage(), 0, 0, this);

//绘制两个文本字符串

g.setColor(Color.white);

g.drawString("得分: " + score, 430, 165);

g.drawString(“第 " + (guanshu + 1) + " 关”, 430, 190);

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

switch (map[i][j]) {

case 0:

BlockButton[i][j].setVisible(false);

break;

case 1:

BlockButton[i][j].setIcon(aIcon);

break;

case 2:

BlockButton[i][j].setIcon(bIcon);

break;

case 3:

BlockButton[i][j].setIcon(cIcon);

break;

case 4:

BlockButton[i][j].setIcon(dIcon);

break;

case 5:

BlockButton[i][j].setIcon(eIcon);

break;

case 6:

BlockButton[i][j].setIcon(fIcon);

break;

case 7:

BlockButton[i][j].setIcon(gIcon);

break;

case 8:

BlockButton[i][j].setIcon(hIcon);

break;

case 9:

BlockButton[i][j].setIcon(iIcon);

break;

case 10:

BlockButton[i][j].setIcon(jIcon);

break;

case 11:

BlockButton[i][j].setIcon(kIcon);

break;

case 12:

BlockButton[i][j].setIcon(lIcon);

break;

case 13:

BlockButton[i][j].setIcon(mIcon);

break;

case 14:

BlockButton[i][j].setIcon(nIcon);

break;

case 15:

BlockButton[i][j].setIcon(oIcon);

break;

default:

break;

}

}

}

}

//重载

public void chongzai() {

jishushengyu = 0;

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

if (map[i][j] > 0) {

jishushengyu++;

}

}

}

int[][] map1 = new int[8][8];

this.map = map1;

Random random = new Random();

for (int i = 0; i < jishushengyu / 2; i++) {

kind = random.nextInt(Kinds) + 1;//0~3+1 === 1~4

do {

randomx1 = random.nextInt(8);//0-8随机数

randomy1 = random.nextInt(8);

} while (map[randomy1][randomx1] > 0);

map[randomy1][randomx1] = kind;

do {

randomx = random.nextInt(8);

randomy = random.nextInt(8);

} while (map[randomy][randomx] > 0);

map[randomy][randomx] = kind;

}

repaint();

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

BlockButton[i][j].setVisible(true);

}

}

}

public void newGame() {

// JOptionPane.showMessageDialog(null,“你按了开始按钮”);

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

BlockButton[i][j].setEnabled(true);

BlockButton[i][j].setVisible(true);

}

}

int[][] map = new int[8][8];

this.map = map;

newMap();

ld.setTimes(0);

score = 0;

guanshu = 0;

ld.setdijiguan(guanshu);

}

public void guoguan() {

int jishushengyu2 = 0;

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

if (map[i][j] > 0) {

jishushengyu2++;

}

}

}

if (jishushengyu2 == 0) {

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

BlockButton[i][j].setEnabled(true);

BlockButton[i][j].setVisible(true);

}

}

int[][] map = new int[8][8];

this.map = map;

newMap();

ld.setTimes(0);

guanshu++;

ld.setdijiguan(guanshu);

reLoad.setEnabled(true);

}

}

public void newMap() {

ArrayList numbers = new ArrayList();//链表

for (int i = 0; i < Kinds; i++) {

numbers.add(i + 1);//加到列表尾部

numbers.add(i + 1);

}//每一次重新布局的时候,能保证一定有前几种难度中的图片类型

Random random = new Random();

int temp = 0;

for (int i = 0; i < 32- Kinds; i++) {

temp = random.nextInt(Kinds) + 1;//0~kinds-1之间的随机数在加1

numbers.add(temp);

numbers.add(temp);

}

Collections.shuffle(numbers);//随机打乱原来的顺序

map = new int[8][8];

temp = 0;

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

//JOptionPane.showMessageDialog(null, numbers.get(temp));

map[i][j] = numbers.get(temp++).intValue();//get方法返回第i个元素,intvalue 返回int类型

}

}

}

public void itemStateChanged(ItemEvent e) {

// TODO 自动生成的方法存根

if (e.getSource() == difficultChoice) {

String selected = difficultChoice.getSelectedItem();

if (selected == “简单”) {

Kinds = 4;

newGame();

repaint();

} else if (selected == “中等”) {

Kinds = 8;

newGame();

repaint();

} else if (selected == “困难”) {

Kinds = 12;

newGame();

repaint();

} else if (selected == “变态”) {

Kinds = 15;

newGame();

repaint();

}

}

}

public void actionPerformed(ActionEvent e) {

// TODO 自动生成的方法存根

if (ld.getTimes() >56) {

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

BlockButton[j][i].setEnabled(false);

}

}

}

if (e.getSource() == reLoad) {

chongzai();

reLoad.setEnabled(false);

}

if (e.getSource() == newgameButton) {

newGame();

reLoad.setEnabled(true);

}

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

if (e.getSource() == BlockButton[j][i]) {

clicktimes++; // 点击的次数

lineStart.move(i, j);

if (clicktimes % 2 == 1) {

coordinatex1 = i;

coordinatey1 = j;

BlockButton[coordinatey1][coordinatex1].setEnabled(false);

BlockButton[coordinatey][coordinatex].setEnabled(true);

// BlockButton[j][i].setEnabled(false);

}

if (clicktimes % 2 == 0) {

coordinatex = i;

coordinatey = j;

BlockButton[coordinatey][coordinatex].setEnabled(false);

BlockButton[coordinatey1][coordinatex1].setEnabled(true);

}

}

}

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2 == 1) {

coordinatex1 = i;

coordinatey1 = j;

BlockButton[coordinatey1][coordinatex1].setEnabled(false);

BlockButton[coordinatey][coordinatex].setEnabled(true);

// BlockButton[j][i].setEnabled(false);

}

if (clicktimes % 2 == 0) {

coordinatex = i;

coordinatey = j;

BlockButton[coordinatey][coordinatex].setEnabled(false);

BlockButton[coordinatey1][coordinatex1].setEnabled(true);

}

}

}

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

java连连看代码 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import javax.swing.*; public class Game extends JFrame{ private int num[][]; //实现数组 private JButton gamebutton[][]; //游戏Button组 private Container cont; //内容面板 private JLabel timelabel; //时间标签 private JButton play; //开始游戏按钮 private JButton exit; //退出按钮 private JButton replay; //重新开始按钮 private JButton back; //返回主界面按钮 private JComboBox choice;//游戏等级 private JButton chongle; //游戏按钮重列 private JPanel gamepanel; //游戏按钮面板 private JPanel panel; //开始游戏面板 private int time=0; //时间记录 private Time T; //记时线程 private Thread t=new Thread(T); //记时线程 private int shu=1; //记录获取游戏按钮事件的个数 private int x=0,y=0,a=0,b=0;//按钮的坐标 private JButton button1=null,button2=null;//点击了的按钮 private boolean can;//能否消除 private int lvx,lvy; //游戏等级数组标列数 private int framex,framey; //框架大小 private int again=1;//记录重列次数 public Game(){ itincomponent(); } private void itincomponent(){ //设置面板属性 if(cont!=null) cont.removeAll(); this.setSize(500, 500); this.setLocationRelativeTo(null); //获取内容面板 cont=this.getContentPane(); //开始和退出按钮 panel=new JPanel(); play=new JButton("开始游戏"); choice=new JComboBox(); choice.addItem("低级"); choice.addItem("中级"); choice.addItem("高级"); choice.setSelectedItem("低级"); exit=new JButton("退出游戏"); panel.add(choice); panel.add(play); panel.add(exit); cont.add(panel,"South"); exit.addActionListener(new Exit());//结束事件监听 play.addActionListener(new Play());//开始事件监听 this.setResizable(false); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); } ////获得新的面板 private void p(){ //设置面板属性 this.setSize(framex, framey); this.setLocationRelativeTo(null); //获取内容面板 cont=this.getContentPane(); //开始和退出按钮 panel=new JPanel(); exit=new JButton("退出游戏"); replay=new JButton("重新开始"); back=new JButton("返回主界面"); chongle=new JButton("重列"); panel.add(chongle); panel.add(replay); panel.add(exit); panel.add(back); cont.add(panel,"South"); exit.addActionListener(new Exit());//结束事件监听 replay.addActionListener(new Playbutton());//重新开始事件监听 back.addActionListener(new Back());//返回主界面事件监听 chongle.addActionListener(new Chongle());//重列事件监听 //时间面板 timelabel=new JLabel("游戏时间:"+time+"s",JLabel.CENTER); cont.add(timelabel,"North"); //生成游戏操作面板 gamepanel=new JPanel(); gamepanel.setLayout(new GridLayout(lvx,lvy,3,3)); //设置为表格布局 for (int i = 0; i < lvx; i++) { for (int j = 0; j <lvy; j++) { if(gamebutton[i][j].isVisible()){ gamebutton[i][j].setIcon(new ImageIcon(num[i][j]+".jpg")); } gamepanel.add(gamebutton[i][j]); gamebutton[i][j].addActionListener(new Gamebutton()); } } cont.add(gamepanel, "Center"); this.setResizable(false); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值