当前位置: 首页 > news >正文

Java基本语法学习的案例练习

       本文是在学习过C语言后,开始进行Java学习时,对于基本语法的一些案例练习。案例内容来自B站黑马编程课

1.HelloWorld

       问题介绍;请编写程序输出“HelloWorld”.

public class HelloWorld {  public static void main(String[] args) {  System.out.println("Hello World");  }  
}

      1. public class HelloWorld :公共类(Public Class),每个Java源文件中都可以有一个(且只有一个)公共类,这个公共类的名称必须与源文件的名称相同(包括大小写)。

     2.main(String [ ] args): 类中包含了一个主方法(main方法),这是Java程序的入口点。main方法接受一个字符串数组args作为参数,这个数组通常用于接收从命令行传递给程序的参数。

     3.println:在main方法内部,调用了System.out.println方法来在控制台上打印出字符串"Hello World"System.out是Java的标准输出流,而println是一个方法,用于输出数据并换行。


2.购买飞机票

        问题介绍:用户购买机票时,机票原价会按照淡季,旺季,头等舱还是经济舱的情况进行相应的优惠,优惠方案如下:5-10月为旺季,头等舱9折,经济舱8.5折;11月到来年4月为淡季,头等舱7折,经济舱6.5折,请开发程序计算用户当前机票的优惠价。

package JAVA_study.src.Text;import java.util.Scanner;public class Text1 {public static void  main(String[] age){Scanner sr = new Scanner(System.in);double money = 1000.0; //票价System.out .println("请输入当前月份");int month = sr.nextInt();System.out.println("请输入选择机票种类");String type = sr.next();double place = sed(money,month,type);System.out.println("最终票价为" +place);}public static double sed(double money,int month,String type){double place = 1.0;if(month >= 5 && month <= 10){switch (type) {case "头等舱" : place = 0.9 * money; break;case "经济舱" : place = 0.85 * money;break;}}else {switch (type) {case "头等舱" : place = 0.7 * money; break;case "经济舱" : place = 0.65 * money; break;}}return place;}
}

     1.方法(类似于c中的函数)

    2.选择语句和判断语句

    对于if,else if,以及Switch case 语句和C语言用法是一致的。


3.生成验证码

        问题介绍:开发一个程序,可以生成指定位数的验证码,每位可以是数字,大小写字母。

package JAVA_study.src.Text;import java.util.Random;
import java.util.Scanner;public class Text2 {public static void  main(String[] args){Scanner sr = new Scanner(System.in);int length = sr.nextInt();System.out.println(code(length));}public static String code(int n){Random r= new Random();String ans = "";for(int i=0;i<n;i++){int type = r.nextInt(3);switch (type) {case 0: ans += r.nextInt(10);break;case 1: char str1 = (char)(r.nextInt(26)+65); ans += str1;break;case 2: char str2 = (char)(r.nextInt(26)+65+32); ans +=str2;break;}}return ans;}
}

1.随机数函数:Random,使用Random(3)生成从0-2的三位随机数,即包含左边,不包含右边。


4.评委打分

         问题介绍:在唱歌比赛中,可能有多个评委要给选手打分,分数是[0 -100] 之间的整数。选手最后的得分为:去掉最高分,最低分后剩余分数的平均分,请编写程序能够录入多名评委的分数,并计算选手的最终得分。

package JAVA_study.src.Text;import java.util.Scanner;public class Text3 {public static void main(String[] arr){Scanner se = new Scanner(System.in);System.out.println("请输入评委人数");int num = se.nextInt();System.out.println("该学生的成绩为"+A(num)+"分");}public static double A(int num){Scanner se = new Scanner(System.in);double ave = 0.0;int MAX = 0;int MIN = 100;int sum = 0;int[] sums = new int [num];for(int i=0;i<num;i++){System.out.println("请输入第"+(i+1)+"位评委的分数");int sr = se.nextInt();sums[i] = sr;sum += sr;if(sr > MAX){MAX = sr;}if(sr < MIN){MIN = sr;}}ave =(sum-MAX-MIN)/(num-2.0);return ave;}
}
//这是没有看视频之前,自己写的,下面是视频代码
/*
import java.util.Scanner;public class Text3 {public static void main(String[] arr){Scanner se = new Scanner(System.in);System.out.println("请输入评委人数");int num = se.nextInt();System.out.println("该学生的成绩为"+A(num)+"分");}public static double A(int num){Scanner se = new Scanner(System.in);double ave = 0.0;int MAX = 0;int MIN = 100;int sum = 0;int[] sums = new int [num];for(int i=0;i<num;i++){System.out.println("请输入第"+(i+1)+"位评委的分数");int sr = se.nextInt();sums[i] = sr;sum += sr;if(sr > MAX){MAX = sr;}if(sr < MIN){MIN = sr;}}ave =(sum-MAX-MIN)/(num-2.0);return ave;}
}*/package JAVA_study.src.Text;import java.util.Scanner;public class Text3 {public static void main(String[] arr) {//目标:完成评委打分案例System.out.println("当前选手的得分是:"+getAverageScore(6));}public static double getAverageScore(int number){//定义一个动态初始化的数组,方便后期存入评委的打分int []scores = new int [number];//遍历数组每一个位置,依次录入评委分数Scanner sc = new Scanner(System.in);for (int i = 0;i<number;i++) {System.out.println("请您录入第"+(i+1)+"个评委的分数");int score = sc.nextInt();scores[i] = score;}int sum = 0; //求总分的变量int max = scores[0];int min = scores[0];//遍历一般找数据for (int i = 0; i < scores.length; i++) {int score =scores[i];sum += score;if(score > max){max= score;}if(score < min){min= score;}}return (sum-min-max)/(number-2.0);}
}

1.for循环:与C语言使用是一致的,for(循环变量;终止条件;变量变化){ 执行语句;}

在IDEA中,可以使用 循环的次数.fori(回车)来快捷输入一个for循环。

2.数据运算:包括四则运算,自增,自减运算都和C语言是一致的,还有浮点数除法除数要加小数点。


5.数字解密

           问题介绍:某系统的数字密码是一个四位数,如1983,为了安全,需要加密后再传输,加密规则是:对于密码的每位数,都加5,再对10求余,最后将所有的数字顺序反转,得到一组加密后的新数,请设计出满足本需求的加密程序。

package JAVA_study.src.Text;import java.util.Scanner;public class Text4 {public static void main(String [] ages){Scanner sc = new Scanner(System.in);System.out.println("请输入要加密的数字");int num = sc.nextInt();int number = 1;int s = num;while(s > 1){number++;s=s/10;}int [] a = M(num,number);int result = 0;int p =1;for (int i = number-1; i >= 0; i--) {result += a[i]*p;p *=10;}System.out.println(result);}public static int [] M(int num,int number){int [] arrs = new int[number];for (int i = 0; i < number; i++) {arrs[i] = ((num%10)+5)%10;num = num/10;}return arrs;}
}

1.Java可以直接返回数组!!基本的计算方法与C语言是一致的,这里没有参考视频中的函数写法。


6.数组拷贝

        问题介绍:请把一个整型数组,例如存储了数据:11,22,33,拷贝成一个新数组出来

package JAVA_study.src.Text;import java.util.Arrays;
import java.util.Scanner;public class Text5 {public static void main(String []ags){System.out.println("请输入数组元素个数");Scanner sc = new Scanner(System.in);int number = sc.nextInt();int [] arr = new int [number];for (int i = 0; i < number; i++) {System.out.println("请输入第"+(i+1)+"个数组元素");int input = sc.nextInt();arr[i] = input;}int [] result = Copy_arr(arr,number);for(int i=0;i<number;i++){System.out.println(result[i]);
}}public static int []Copy_arr(int []arr,int number){int []new_arr = new int [number];for (int i = 0; i < number; i++) {new_arr[i] = arr[i];}return new_arr;}
}

 java提供了许多简单有用的函数来实现一些功能。

    1.数组打印:除开for循环外,提供了一种System.out.println(Arrays.toString(result))的实现方法。这行代码的作用是打印数组result的内容到控制台,每个元素以字符串形式表示,元素之间用逗号加空格分隔,整个数组被方括号包围。

     2.数组拷贝:可以不用手动循环拷贝,可以使用System.arraycopy(arr, 0,new_arr, 0, number)

关于arraycopy函数

  • 参数解释

    • arrObject src):源数组,即你要从中复制数据的数组。
    • 0int srcPos):源数组中的起始位置(索引),从该位置开始复制数据。在这个例子中,它是 0,意味着从源数组的第一个元素开始复制。
    • new_arrObject dest):目标数组,即你要将数据复制进去的数组。这个数组必须已经存在,并且有足够的空间来存储要复制的数据。
    • 0int destPos):目标数组中的起始位置(索引),从该位置开始放置复制的数据。在这个例子中,它也是 0,意味着从目标数组的第一个元素开始放置数据。
    • numberint length):要复制的数组元素的数量。在这里,number 指定了从源数组复制到目标数组的元素数量。
  • 操作过程

    • System.arraycopy 方法会从 arr 数组的 0 索引位置开始,复制 number 个元素到 new_arr 数组的 0 索引位置。

    • 如果 new_arr 数组的长度小于 number,那么将会抛出 ArrayIndexOutOfBoundsException 异常,因为目标数组没有足够的空间来存储所有要复制的元素。

    • 如果源数组 arr 的长度小于 srcPos + length(在这个例子中是 0 + number),那么同样会抛出 ArrayIndexOutOfBoundsException 异常,因为源数组没有足够的元素可供复制。

  • 注意事项

    • 在使用 System.arraycopy 之前,确保目标数组 new_arr 已经被正确初始化,并且有足够的空间来存储要复制的数据。
    • 如果源数组和目标数组是同一个数组,并且源位置和目标位置有重叠,那么复制的结果将是未定义的。
    • 对于基本数据类型数组和对象数组,System.arraycopy 都可以正常工作。但是,对于对象数组,复制的是对象的引用,而不是对象本身。

7.抢红包

        问题介绍:一个大V直播时发起了抢红包活动,分别有:9.666.188.520.99999五个红包。请模拟粉丝来抽奖,按照先来先得,随机抽取,抽完为止,注意:一个红包只能抽一次,先抽或后抽哪一个红包时随机的。

package JAVA_study.src.Text;import java.util.Random;
import java.util.Scanner;public class Text6 {public static void main(String [] args){//目标:完成抢红包案列的开发int []moneys ={9,666,188,520,99999};start(moneys);}public static void start(int []moneys){Scanner sc = new Scanner(System.in);Random r = new Random();for (int i = 0; i < 5; i++) {System.out.println("请输入任意内容进行抽奖");sc.next(); //等待输入内容按到回车才往下走while(true) {int index = r.nextInt(moneys.length);int money = moneys[index];if (money != 0) {System.out.println("恭喜您,您抽中了红包" + money);moneys[index] = 0;break;}}}System.out.println("活动结束");}
}

8.找素数

        问题介绍:判断101-200之间有多少个素数,并输出所有素数

package JAVA_study.src.Text;import java.util.Arrays;public class Text7 {public static void main(String[] args){su();}public static void su(){//目标是从101到200之间的素数int sum;int num =0;int [] result = new int [100];int input = 0;for (int i = 101; i <=200; i++) {sum = 0;for (int i1 = 2; i1 < i; i1++) {if(i%i1 == 0){sum++;}}if(sum == 0){result[input++] = i;num++;}}System.out.println("共有素数"+num+"个");for (int i = 0; i < num; i++) {System.out.println(result[i]+" ");}}}

教学中提供的是信号位思想。使用flat来进行判断。

 for (int i = 101; i <=200; i++) {boolean flat = true;for (int i1 = 2; i1 < i; i1++) {if(i%i1 == 0){flat = false;}}if(flat){result[input++] = i;num++;}}

9.打印九九乘法表

                问题介绍 打印九九乘法表

public class MultiplicationTable {  public static void main(String[] args) {  // 外层循环控制行  for (int i = 1; i <= 9; i++) {  // 内层循环控制列  for (int j = 1; j <= i; j++) {  // 打印乘法表的一项,注意这里j和i的顺序决定了是横向打印还是纵向打印   System.out.print(j + "*" + i + "=" + (i * j) + "\t");  }  // 每完成一行的打印后,输出一个换行符以开始新的一行  System.out.println();  }  }  
}

10.模拟双色球

        问题介绍:用户投注7个号码,6个红色,1个蓝色。按照和系统随机出的这组号码判断中奖金额。

package JAVA_study.src.Text;import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;public class Text8 {public static void main(String[] args) {int [] a1 = inputarr();System.out.println(Arrays.toString(a1));int [] a2 = suijiarr();System.out.println(Arrays.toString(a2));cmp(a1,a2);}public static int[] inputarr() {int[] arr = new int[7];Scanner sc = new Scanner(System.in);for (int i = 0; i < 6; i++) {while (true) {System.out.println("请输入第" + (i + 1) + "位红球号码");int num = sc.nextInt();if (num < 1 || num > 33) {System.out.println("号码有误 请检查");} else {if (exist(arr, num)) {System.out.println("输入的号码重复 请重试");} else {arr[i] = num;break;}}}}while (true) {System.out.println("请输入蓝球号码");int num = sc.nextInt();if (num < 1 || num > 16) {System.out.println("号码有误 请检查");} else {arr[6] = num;break;}}return arr;}public static int[] suijiarr() {int[] arr = new int[7];Random r = new Random();for (int i = 0; i < 6; i++) {while (true) {int n = r.nextInt(33)+1;if (!exist(arr, n)) {arr[i] = n;break;}}}while (true) {int n = r.nextInt(17)+1;if (!exist(arr, n)) {arr[6] = n;break;}}return arr;}private static boolean exist( int[] arr, int num){for (int i = 0; i < 7; i++) {if(arr[i] ==0){break;}if (arr[i] == num) {return true;}}return false;}public static void cmp(int []a1,int []a2){int redcount=0,bluecount=0;for (int i = 0; i < 6; i++) {for (int j = 0; j < 6; j++) {if(a1[i] == a2[j]){redcount ++;break;}}}if(a1[6] == a2[6]){bluecount++;}switch(redcount){case 6:if(bluecount == 1){System.out.println("恭喜您中奖 1000万元");break;}else{System.out.println("恭喜您中奖 500万元");break;}case 5:if(bluecount == 1){System.out.println("恭喜您中奖 3000元");break;}else{System.out.println("恭喜您中奖 200元");break;}case 4:if(bluecount == 1){System.out.println("恭喜您中奖 200元");break;}else{System.out.println("恭喜您中奖 10元");break;}case 3:if(bluecount == 1){System.out.println("恭喜您中奖 10元");break;}else{System.out.println("恭喜您中奖 5元");break;}case 2:if(bluecount == 1){System.out.println("恭喜您中奖 5元");break;}case 1:if(bluecount == 1){System.out.println("恭喜您中奖 5元");break;}case 0:if(bluecount == 1){System.out.println("恭喜您中奖 5元");break;}System.out.println("很遗憾 您没有中奖");break;}}}

相关文章:

Java基本语法学习的案例练习

本文是在学习过C语言后&#xff0c;开始进行Java学习时&#xff0c;对于基本语法的一些案例练习。案例内容来自B站黑马编程课 1.HelloWorld 问题介绍;请编写程序输出“HelloWorld”. public class HelloWorld { public static void main(String[] args) { System.out.print…...

FPGA实现LCD12864控制

目录 注意&#xff01; a) 本工程采用野火征途PRO开发板&#xff0c;外接LCD12864部件进行测试。 b) 有偿提供代码&#xff01;&#xff01;&#xff01;可以定制功能&#xff01;&#xff01;&#xff01;有需要私信&#xff01;&#xff01;&#xff01; c) 本文测试采用…...

mysql 批量执行sql语句脚本

有时候我们需要批量执行多个数据库的创建和数据创建执行可以通过下面脚本批量创建和执行脚本。我们只需要在sql命令行或者客户端执行下面一个脚本批量创建执行多个库的创建和执行 xxxxinit.sql create user root% identified by test; mysql -h 192.168.17.7 -u root -p mysq…...

餐饮连锁加盟的网页UI,如果不大气,谁能相信你的品牌力

...

【Git】Git概述

一、Git的基本概念和特点 基本概念&#xff1a; 仓库&#xff08;Repository&#xff09;&#xff1a;Git存储代码的基本单位&#xff0c;包含项目的所有文件和历史提交记录。Git支持本地仓库和远程仓库&#xff0c;本地仓库存储在开发者的计算机上&#xff0c;而远程仓库通常…...

【图解网络】学习记录

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 TCP/IP 网络模型有哪几层&#xff1f;键入网址到网页显示&#xff0c;期间发生了什么&#xff1f;Linux 系统是如何收发网络包的&#xff1f;NAPIHTTP 是什么&#…...

【Vulnhub系列】Vulnhub_Seattle_003靶场渗透(原创)

【Vulnhub系列靶场】Vulnhub_Seattle_003靶场渗透 原文转载已经过授权 原文链接&#xff1a;Lusen的小窝 - 学无止尽&#xff0c;不进则退 (lusensec.github.io) 一、环境准备 1、从百度网盘下载对应靶机的.ova镜像 2、在VM中选择【打开】该.ova 3、选择存储路径&#xff0…...

java: 错误: 无效的源发行版:17

错误现象&#xff1a; java: 错误: 无效的源发行版&#xff1a;17 背景&#xff1a;在配置一个springboot项目时候&#xff0c;报出这个错误&#xff0c;错误提示信息很简单&#xff0c;很模糊。 排查&#xff1a;百度后&#xff0c;推测大概率就是pom文件的配置问题&#xf…...

【Python机器学习】k-近邻算法简单实践——识别手写数字

为了简化理解&#xff0c;需要识别的数字已经使用图形处理软件&#xff0c;处理成具有相同的色彩和大小32*32的黑白图像&#xff0c;并转换成文本格式 准备数据&#xff1a;将图像转换为测试向量 实际图像存储在trainingDigits的2000个例子和testDigits中的900个测试数据 我们…...

Linux源码阅读笔记14-IO体系结构与访问设备

IO体系结构 与外设通信通常称为输入输出&#xff0c;一般缩写为I/O。在实现外设IO的时候&#xff0c;内核必须处理三个可能出现的问题&#xff1a; 必须根据具体的设备类型和模型&#xff0c;使用各种方法对硬件寻址。内核必须向用户应用程序和系统工具提供访问各种设备的方法…...

只出现一次的数字-位运算

题目描述&#xff1a; 个人题解&#xff1a; 代码实现&#xff1a; class Solution { public:int singleNumber(vector<int>& nums) {int ret 0;for (auto e: nums) ret ^ e;return ret;} };复杂度分析&#xff1a; 时间复杂度&#xff1a;O(n)&#xff0c;其中 n…...

pyqt designer使用spliter

1、在designer界面需要使用spliter需要父界面不使用布局&#xff0c;减需要分割两个模块选中&#xff0c;再点击spliter分割 2、在分割后&#xff0c;再对父界面进行布局设置 3、对于两边需要不等比列放置的&#xff0c;需要套一层 group box在最外层进行分割...

【ROS 最简单教程 002/300】ROS 集成开发环境安装 (虚拟机版): Noetic

&#x1f497; 有遇到安装问题可以留言呀 ~ 当时踩了挺多坑&#xff0c;能帮忙解决的我会尽力 &#xff01; 1. 安装操作系统环境 Linux ❄️ VM / VirtualBox Ubuntu20.04 &#x1f449; 保姆级图文安装教程指路&#xff0c;有经验的话 可以用如下资源自行安装 ITEMREFERENCE…...

防洪评价报告编制方法与水流数学模型建模技术

原文链接&#xff1a;防洪评价报告编制方法与水流数学模型建模技术https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247610610&idx2&sn432d30cb40ec36160d635603c7f22c96&chksmfa827115cdf5f803ddcaa03a21e3721d6949d6a336062bb38170e3f9d5bd4d391cc36cc…...

【Python学习手册(第四版)】学习笔记10-语句编写的通用规则

个人总结难免疏漏&#xff0c;请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 本文较简单&#xff0c;5-10分钟即可阅读完成。介绍Python基本过程语句并讨论整体语法模型通用规则&#xff08;冒号、省略、终止、缩进、其他特殊情况&#xff0…...

Flink笔记整理(五)

Flink笔记整理&#xff08;五&#xff09; 文章目录 Flink笔记整理&#xff08;五&#xff09;七、处理函数&#xff08;最底层最常用最灵活&#xff09;7.1基本处理函数&#xff08;ProcessFunction&#xff09;处理函数的功能和使用ProcessFunction解析 7.2按键分区处理函数&…...

数据分析概要【数据分析---偏企业】

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 数据分析概要前 必看 Python 初阶 Python–语言基础…...

PDF编辑器大分享,这三款加速PDF编辑!

嘿&#xff0c;各位办公室的小伙伴们&#xff0c;今儿咱们来聊聊那些让咱们文员生活变得更加轻松愉快的神器——PDF编辑器&#xff01;作为每天跟文档打交道的“文字魔术师”&#xff0c;选对工具那可真是事半功倍啊。今天&#xff0c;我就从我的亲身体验出发&#xff0c;给大伙…...

Python --Pandas库基础方法(2)

文章目录 Pandas 变量类型的转换查看各列数据类型改变数据类型 重置索引删除行索引和切片seriesDataFrame取列按行列索引选择loc与iloc获取 isin()选择query()的使用排序用索引排序使用变量值排序 修改替换变量值对应数值的替换 数据分组基于拆分进行筛选 分组汇总引用自定义函…...

《Programming from the Ground Up》阅读笔记:p75-p87

《Programming from the Ground Up》学习第4天&#xff0c;p75-p87总结&#xff0c;总计13页。 一、技术总结 1.persistent data p75, Data which is stored in files is called persistent data, because it persists in files that remain on disk even when the program …...

AI Infra 后端开发工程师 — 学习路线

AI Infra 后端开发工程师 — 学习路线目标&#xff1a;3个月可切换到AI Infra后端岗位能力迁移地图AI Infra 对应迁移成本Goroutine调度/并发控制思维直接复用Agent会话生命周期管理设计模式相同SSE/WebSocket流式协议实时系统思维GPU显存管理/KV-cache资源约束优化思维推理延迟…...

告别滑动窗口!用Python手把手复现红外小目标检测的LCM算法(附完整代码)

告别滑动窗口&#xff01;用Python手把手复现红外小目标检测的LCM算法 红外小目标检测在军事侦察、安防监控等领域具有重要应用价值。传统滑动窗口方法计算量大、效率低下&#xff0c;而局部对比度测量&#xff08;LCM&#xff09;算法通过巧妙设计实现了高效检测。本文将带您从…...

深圳连续模五金冲压件

在深圳这座充满活力与创新的城市&#xff0c;五金冲压件行业发展得如火如荼。连续模五金冲压件作为其中的重要组成部分&#xff0c;广泛应用于各个领域。今天&#xff0c;我们就来深入了解一下深圳的连续模五金冲压件市场&#xff0c;并重点推荐深圳市机汇五金制品有限公司&…...

《Sysinternals实战指南》ZoomIt 学习笔记(11.11):休息计时器与演讲节奏控制——倒计时、番茄钟与现场掌控力

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

视频拖动进度条时如果落在GOP内,是怎么定位的?

视频拖动进度条时的 GOP 定位行为说明 0. 名词解释&#xff1a;Seek 是什么&#xff1f; Seek&#xff08;寻址/定位&#xff09;来自英文 “seek”&#xff08;寻找、定位&#xff09;&#xff0c;在视频/音频领域特指将播放位置跳转到指定时间点的操作。 用户拖动进度条、点击…...

京东评论拿到数据后对比同款竞品评论,看别家优势短板,找自身差异化卖点

京东评论已修复&#xff0c;需要的可以联系我留言一、数据归集抓取自家、2-3 款核心竞品近 3-6 个月评论&#xff0c;拆分好评、中差评统一维度&#xff1a;产品功能、做工品质、价格、物流售后、外观体验、适配性二、拆解优劣维度竞品优势统计高频夸赞词&#xff0c;汇总核心加…...

Blender 3MF插件:实现CAD到3D打印的无缝转换完整指南

Blender 3MF插件&#xff1a;实现CAD到3D打印的无缝转换完整指南 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 在3D打印和数字制造领域&#xff0c;3D Manufacturing F…...

AI Agent落地10大避坑指南:从白皮书到生产环境的工程真相

1. 这不是技术文档翻译&#xff0c;而是一次“工程师对产品经理”的现场拆解 你点开这篇标题&#xff0c;大概率是因为刚看到Google那篇《AI Agents: A Whitepaper on Principles, Capabilities, and Limitations》——PDF文件名长得像法律条文&#xff0c;开头三段全是“auton…...

基于OpenHarmony的智慧农业控制系统-硬件部分【1】

1.整体设备2.硬件清单&#xff1a;一、主控单元&#xff08;边缘网关&#xff09;硬件名称型号/规格数量备注小熊派开发板BearPi-HM Nano&#xff08;搭载 Hi3861 芯片&#xff0c;支持 OpenHarmony LiteOS&#xff09;1块核心控制单元&#xff0c;集成 Wi-Fi&#xff0c;负责数…...

VIVE Focus3 Unity开发避坑指南:JDK11.0.22与Wave SDK 4.2集成要点

1. 这不是SDK安装教程&#xff0c;而是新手在Focus3上摔的前七跤Unity新手刚拿到VIVE Focus3设备&#xff0c;满心欢喜点开VIVE Developer Portal下载SDK 4.2&#xff0c;解压、导入、Build、Run——然后卡在黑屏、报错、手势没反应、手柄漂移、甚至Unity编辑器直接崩溃。我带过…...