不太好玩

博客提到有人告知有MSDN2003中文版,作者对此表示惊讶,还调侃比尔盖茨和Sun,最后决定去找MSDN中文版,称这是最大限度复用。
部署运行你感兴趣的模型镜像

前几天有人告诉我,现在有MSDN2003中文版了

是的中文版的是个好东西

等等,MSDN2003中文版?!!!!........

这世界怎么了,比尔盖兹疯了吗,Sun倒闭了吗,啊哈哈哈

算了,我还是去找MSDN中文版,不费那工夫了

告诉你,咱那不叫偷懒,那叫最大限度的复用

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<think>我们正在查找好玩的Java程序示例。根据引用[2]和引用[4],我们可以提供一些有趣的Java小程序。引用[2]中提供了一个冒泡排序算法的示例,引用[4]中提供了一个屏幕截图的程序片段。此外,我们还可以参考其他一些有趣的Java小程序。 注意:用户要求好玩的程序,所以我们可以选择一些有趣且实用的例子。 以下是几个好玩的Java程序示例: 1. **冒泡排序可视化**(基于引用[2]修改): 我们可以稍微修改冒泡排序程序,使其在控制台输出排序的每一步,这样可以看到排序的过程。 2. **屏幕截图程序**(基于引用[4]): 这个程序可以捕获整个屏幕并保存为图片。 3. **一个简单的猜数字游戏**: 这是一个经典的小游戏,计算机会随机生成一个数字,用户尝试猜测。 4. **生成随机艺术**: 使用字符在控制台生成随机图案。 下面我们将展示其中两个程序: ### 1. 冒泡排序可视化(增强版) 在引用[2]的基础上,我们添加详细的每一步输出,让用户可以看到排序的每一步变化。 ```java import java.util.Arrays; public class BubbleSortVisualization { public static void main(String[] args) { int[] b = {40, 78, 13, 28, 32, 59, 33, 70, 75, 46, 79, 134, 14, 16, 354, 35, 357, 2423, 424, 563, 6675, 698, 7, 94, 12, 454, 6767, 8, 678, 67, 86, 8797, 90}; System.out.println("初始数组: " + Arrays.toString(b)); bubbleSort(b); } public static void bubbleSort(int[] A) { int emp; boolean flag = true; for (int i = 0; i < A.length; i++) { for (int j = 0; j < A.length - i - 1; j++) { if (A[j] > A[j + 1]) { emp = A[j]; A[j] = A[j + 1]; A[j + 1] = emp; flag = false; } // 输出每一次交换后的数组(或者比较后,即使没有交换也可以输出,但为了刷屏,我们只在交换时输出) // 注意:频繁输出可能会造成控制台信息过多,所以这里我们只输出发生交换的情况 System.out.println("第" + (i+1) + "趟,第" + (j+1) + "次交换后: " + Arrays.toString(A)); } if (flag) { break; } else { flag = true; } System.out.println("第" + (i+1) + "趟完成: " + Arrays.toString(A)); } } } ``` ### 2. 屏幕截图程序 这个程序可以捕获整个屏幕并保存为PNG图片。用户运行后,当前屏幕会被保存为当前目录下的"screenshot.png"文件。 ```java import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.io.File; public class ScreenCapture { public static void main(String[] args) { try { new ScreenCapture().captureScreen("screenshot.png"); System.out.println("截图已保存为 screenshot.png"); } catch (Exception e) { e.printStackTrace(); } } public void captureScreen(String fileName) throws Exception { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle screenRectangle = new Rectangle(screenSize); Robot robot = new Robot(); BufferedImage image = robot.createScreenCapture(screenRectangle); ImageIO.write(image, "png", new File(fileName)); } } ``` ### 3. 猜数字游戏 这是一个简单的猜数字游戏,程序随机生成一个1到100之间的整数,用户有10次机会来猜测。 ```java import java.util.Scanner; import java.util.Random; public class GuessNumberGame { public static void main(String[] args) { Random random = new Random(); int number = random.nextInt(100) + 1; // 生成1到100的随机数 int maxTries = 10; int tries = 0; Scanner scanner = new Scanner(System.in); System.out.println("欢迎来到猜数字游戏!我已经想好了一个1到100之间的数字,你有10次机会来猜。"); while (tries < maxTries) { System.out.print("请输入你的猜测: "); int guess = scanner.nextInt(); tries++; if (guess < number) { System.out.println("小了!"); } else if (guess > number) { System.out.println("大了!"); } else { System.out.println("恭喜你!你在第" + tries + "次猜中了!"); break; } if (tries == maxTries) { System.out.println("很遗憾,你没有在10次内猜中。数字是: " + number); } } scanner.close(); } } ``` 这些程序既有趣又实用,你可以尝试运行它们。 §§相关问题§§ 1. 如何改进冒泡排序算法以提高效率? 2. 屏幕截图程序除了保存整个屏幕,还能只截取特定区域吗? 3. 猜数字游戏如何增加难度? </think>### 好玩的Java程序示例 以下是几个有趣且实用的Java小程序示例,包含完整代码和简要说明: #### 1. 屏幕截图工具 基于引用[4],可捕获全屏并保存为PNG图片: ```java import java.awt.*; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.io.File; public class ScreenCapture { public static void main(String[] args) { try { captureScreen("screenshot.png"); System.out.println("截图已保存为 screenshot.png"); } catch (Exception e) { e.printStackTrace(); } } public static void captureScreen(String fileName) throws Exception { // 获取屏幕尺寸 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle screenRect = new Rectangle(screenSize); // 创建Robot对象捕获屏幕 Robot robot = new Robot(); BufferedImage image = robot.createScreenCapture(screenRect); // 保存为PNG文件 ImageIO.write(image, "png", new File(fileName)); } } ``` #### 2. 可视化冒泡排序 基于引用[2],添加实时输出展示排序过程: ```java import java.util.Arrays; public class BubbleSortAnimation { public static void main(String[] args) { int[] data = {40, 78, 13, 28, 32, 59, 33, 70, 75, 46, 79, 134, 14}; System.out.println("初始数组: " + Arrays.toString(data)); bubbleSort(data); } public static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { boolean swapped = false; for (int j = 0; j < arr.length - i - 1; j++) { // 实时显示比较过程 System.out.printf("[第%d轮] 比较 %d 和 %d: ", i+1, arr[j], arr[j+1]); if (arr[j] > arr[j+1]) { // 交换元素 int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; swapped = true; System.out.println("交换 ✔"); } else { System.out.println("交换 ✘"); } } // 显示每轮结果 System.out.println("第" + (i+1) + "轮结果: " + Arrays.toString(arr)); if (!swapped) break; // 提前结束 } } } ``` #### 3. 命令行贪吃蛇游戏 基础版控制台贪吃蛇: ```java import java.util.*; import java.util.concurrent.*; public class MiniSnakeGame { static int width = 20, height = 10; static int[] snake = new int[100]; static int snakeLength = 3; static int foodX, foodY; static char direction = 'D'; // WASD控制 public static void main(String[] args) throws InterruptedException { initGame(); ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); executor.scheduleAtFixedRate(() -> { moveSnake(); render(); }, 0, 300, TimeUnit.MILLISECONDS); } static void initGame() { // 初始化蛇身 for (int i = 0; i < snakeLength; i++) { snake[i] = (height/2)*width + (width/2 - i); } spawnFood(); } static void spawnFood() { foodX = new Random().nextInt(width); foodY = new Random().nextInt(height); } static void moveSnake() { // 移动逻辑(简化版) int head = snake[0]; if (direction == 'D') head += 1; if (direction == 'A') head -= 1; if (direction == 'W') head -= width; if (direction == 'S') head += width; // 检查食物 if (head == foodY * width + foodX) { snakeLength++; spawnFood(); } // 移动身体 for (int i = snakeLength-1; i > 0; i--) { snake[i] = snake[i-1]; } snake[0] = head; } static void render() { char[][] grid = new char[height][width]; // 填充空格 for (char[] row : grid) Arrays.fill(row, '·'); // 放置食物 grid[foodY][foodX] = '★'; // 绘制蛇 for (int i = 0; i < snakeLength; i++) { int y = snake[i] / width; int x = snake[i] % width; grid[y][x] = (i == 0) ? '●' : '○'; } // 打印画面 System.out.print("\033[H\033[2J"); // 清屏 for (char[] row : grid) { System.out.println(row); } System.out.println("控制: WASD 长度: " + snakeLength); } } ``` ### 如何运行这些程序 1. 将代码保存为 `.java` 文件(如 `SnakeGame.java`) 2. 编译:`javac SnakeGame.java` 3. 运行:`java SnakeGame`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值