2024年最新鸿蒙开发实战案例-计算器(附整套源码)_开源计算器源码(2),体系面试技巧

img
img

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

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

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

ClItem({content:day,font_size:60,font_color:0xFFBB00,background_color:0x363746,border_radiu:{}})
.onClick(()=>{
this.calClick(day)
})
}
else {
if(day == ‘%’){
ClItem({content:day,font_size:20,font_color:0xFFFFFF,background_color:0x2E2F3E,border_radiu:{}})

}else if(day == “.”){
ClItem({content:day,font_size:20,font_color:0xFFFFFF,background_color:0x2E2F3E,border_radiu:{}})
.onClick(()=>{
this.numClick(day)
})

}else {
ClItem({content:day,font_size:20,font_color:0xFFFFFF,background_color:0x2E2F3E,border_radiu:{}})
.onClick(()=>{
this.numClick(day)
})

}

}
}
}, day => day)
}
.columnsTemplate(‘1fr 1fr 1fr’)
.rowsTemplate(‘1fr 1fr 1fr 1fr 1fr’)
.columnsGap(1)
.rowsGap(1)
.width(‘75%’)
.backgroundColor(0x242530)
.height(‘100%’)

Grid(){
ForEach(this.Number2, (day: string,index:number) => {
GridItem() {
if (index == 0) {
Flex({direction:FlexDirection.Row,alignItems:ItemAlign.Center,justifyContent:FlexAlign.Center}){
Image(“/images/del.png”)
.objectFit(ImageFit.Cover)
.width(50)
.height(28)
.backgroundColor(0x363746)
.fillColor(Color.Red)
}
.backgroundColor(0x363746)
.width(‘100%’)
.height(‘100%’)
.borderRadius({topRight:30})
.onClick(()=>{
this.deleClick()
})

}else if(index == 3){
ClItem({content:day,font_size:60,font_color:0xFFFFFF,background_color:0xFFBB00,border_radiu:{}})
.onClick(()=>{
this.equalClick()
})
}
else {
ClItem({content:day,font_size:60,font_color:0xFFBB00,background_color:0x363746,border_radiu:{}})
.onClick(()=>{
this.calClick(day)
})
}
}
})
}
.columnsTemplate(‘1fr’)
.rowsTemplate(‘1fr 1fr 1fr 2fr’)
.columnsGap(1)
.rowsGap(1)
.width(‘25%’)
.backgroundColor(0x242530)
.height(‘100%’)
.padding({left:1})
}
.width(‘100%’)
.height(‘57%’)

另外,在计算器算法中,涉及到优先级的问题,例如1+2*3这种混合运算式要先算乘除,再算加减。

我的思路是先把输入的运算式存入字符串,并用空格分开,如1 + 2 * 3,然后把该字符串切分成数组,对数组进行两次遍历,第一次遍历计算乘法和除法,第二次遍历计算加减法,最后输出结果。

let arr1 = this.calString.split(" ")

while (arr1.indexOf(“×”) > -1 || arr1.indexOf(‘÷’) > -1){
for(let i = 0;i<arr1.length;i++){
let ele = arr1[i].toString()
if(ele == “×”){
let i1 = arr1[i - 1]
let i2 = arr1[i + 1]

let re = parseFloat(i1) * parseFloat(i2);
arr1[i - 1] = re.toString()
arr1.splice(i,2)
break
}

if(ele == “÷”){
let i1 = arr1[i - 1]
let i2 = arr1[i + 1]

let re = parseFloat(i1) / parseFloat(i2);
arr1[i - 1] = re.toString()
arr1.splice(i,2)
break
}
}
}

while (arr1.indexOf(“+”) > -1 || arr1.indexOf(‘-’) > -1){
console.log(“parseFloat(i3):”,arr1);
for(let i = 0;i<arr1.length;i++){
let ele = arr1[i].toString()
if(ele == “+”){
let i1 = arr1[i - 1]
let i2 = arr1[i + 1]

let re = parseFloat(i1) + parseFloat(i2);
arr1[i - 1] = re.toString()
arr1.splice(i,2)
break
}

if(ele == “-”){
let i1 = arr1[i - 1]
let i2 = arr1[i + 1]

let re = parseFloat(i1) - parseFloat(i2);
console.log(“parseFloat(i1):”,parseFloat(i1));
console.log(“parseFloat(i2):”,parseFloat(i2));

arr1[i - 1] = re.toString()
arr1.splice(i,2)
break
}
}
}

完整的项目源码点击下方链接获取。

最后,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(Harmony NEXT)资料用来跟着学习是非常有必要的。

这份鸿蒙(Harmony NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(**ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony****多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)**技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

如果你是一名有经验的资深Android移动开发、Java开发、前端开发、对鸿蒙感兴趣以及转行人员,可以直接领取这份资料

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料****

鸿蒙(Harmony NEXT)最新学习路线

  • HarmonOS基础技能

  • HarmonOS就业必备技能 
  • HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核
  • 实战就业级设备开发

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


img
img

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

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

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

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

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

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

  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: web计算器是一个网页应用程序,用于执行数学运算。使用Java语言编写的web计算器源码可以通过以下步骤进行下载: 1. 打开一个支持Java开发的集成开发环境(IDE,如Eclipse、IntelliJ IDEA等)或编辑器(如Visual Studio Code)。 2. 在IDE或编辑器中创建一个新的Java项目,命名为"WebCalculator"(或其他你喜欢的名称)。 3. 在项目中创建一个新的Java类,并命名为"CalculatorServlet"(或其他你喜欢的名称)。 4. 添加必要的引用,如Servlet API和Java标准库。 5. 在"CalculatorServlet"类中实现一个Servlet类,该类将处理计算器的逻辑和响应用户请求。 6. 基于你的设计需求,实现一些基本的功能,如加法、减法、乘法和除法等。 7. 创建一个"index.html"文件,用于呈现web页面和与"CalculatorServlet"通信。 8. 在web页面上添加一些HTML元素,如输入框和按钮,以接收用户的输入和发送请求到"CalculatorServlet"。 9. 使用JavaScript编写一些函数,以处理用户输入和从服务器接收响应。 10. 在web服务器中设置部署路径和端口,确保能够通过浏览器访问到该网页。 11. 构建并运行项目,然后在浏览器中访问web计算器应用程序。 12. 根据需要进行调试、优化和改进。 请注意,这只是一个简单的指南,具体的实现步骤和代码可能会根据个人需求和偏好有所不同。你可以在代码托管平台(如GitHub)上搜索和下载已经实现的Web计算器源码,以便更快地开始你的项目。 ### 回答2: 要下载web计算器的Java源代码,您可以按照以下步骤操作: 1. 首先,在您的浏览器中搜索并打开一个可信的Java源代码下载网站,如GitHub或SourceForge。 2. 在网站的搜索栏中输入相关关键词,例如“web计算器源码Java”。 3. 浏览搜索结果并查找与您的需求匹配的项目。确保项目可信度高且受到社区的积极维护。 4. 找到合适的项目后,点击进入项目页面,并查看项目的说明文档、代码仓库或下载选项。 5. 确定项目的最新稳定版本,并选择一个可下载的文件格式,通常会提供ZIP或TAR文件。 6. 点击下载按钮或链接,开始下载选定的文件。 7. 下载完成后,解压缩源代码文件至您的计算机上的一个目录。 8. 打开您常用的集成开发环境(IDE)或文本编辑器,例如Eclipse或IntelliJ IDEA。 9. 创建一个新的Java项目或打开现有的Java项目。 10. 将您下载和解压缩的源代码文件复制到您的项目目录中,确保正确地放入相应的子目录。 11. 在IDE中导入项目或刷新项目以加载新添加的文件。 12. 现在您可以查看和编辑该项目的源代码。请注意,您可能需要导入任何所需的依赖库或框架。 请记住,下载和使用开源项目时应谨慎审查代码,确保您理解其功能和安全性。此外,尊重项目的许可证和开发者的权益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值