java面向对象数组实现家庭收支记账软件_golang实战--家庭收支记账软件(面向过程)...
1.开发流程
2.目标
模拟实现一个基于文本界面的(家庭记账软件) ;
初步掌握编程技巧和调试技巧;
主要包含以下知识点:局部变量和基本数据类型、循环语句、分支语句、简单屏幕格式输出、面向对象编程;
该软件能够记录家庭的输入、支出,并能够打印家庭明细表;
采用分级菜单的方式:
--------------家庭收支记账软件-----------------
1.收支明细
2.登记收入
3.登记支出
4.退出
请选择(1-4)
3.实现(具体细节看代码吧)
package main
import (
"fmt"
)
func main() {
//申明一个变量,保存输入的选择
key := ""
//申明一个变量判断是否退出循环
loop := false
//定义账户的余额
balance := 10000.0
//每次收支的金额
money := 0.0
//每次收支的说明
note := ""
//收支的详情,使用字符串来记录
details := " 收支\t账户金额\t收支金额\t说 明"
//定义一个变量记录是否有收支行为
flag := false
//显示菜单
for {
fmt.Println("----------------------家庭收支软件-----------------------")
fmt.Println(" 1.收支明细")
fmt.Println(" 2.登记收入")
fmt.Println(" 3.登记支出")
fmt.Println(" 4.退出软件")
print("请选择(1-4):")
fmt.Scanln(&key)
switch key {
case "1":
if flag {
fmt.Println("----------------------当前收支明细-----------------------")
fmt.Println(details)
} else {
fmt.Println("当前没有收支明细,来一笔吧")
}
case "2":
fmt.Println("本次收入金额:")
fmt.Scanln(&money)
balance += money
fmt.Println("本次收入说明:")
fmt.Scanln(¬e)
details += fmt.Sprintf("\n 收入 \t%v\t\t %v\t\t%v", balance, money, note)
flag = true
case "3":
fmt.Println("本次支出金额:")
fmt.Scanln(&money)
if money > balance {
fmt.Println("余额不足!!!")
break
}
balance -= money
fmt.Println("本次收入说明:")
fmt.Scanln(¬e)
details += fmt.Sprintf("\n 支出 \t%v\t\t %v\t\t%v", balance, money, note)
flag = true
case "4":
fmt.Println("你确定要退出吗?y/n")
choice := ""
for {
fmt.Scanln(&choice)
if choice == "y" || choice == "n" {
break
}
fmt.Println("您的输入有误!!请重新输入!")
}
if choice == "y" {
loop = true
}
default:
fmt.Println("请输入正确的选项")
}
if loop {
break
}
}
}
初始金额为10000。0,当然也可以自己定义为0.0。
启动后的界面:
如果收支明细中没有记录,选择1的话,会显示“当前没有收支明细,来一笔吧”
选择2:
选择3:(如果金额不够,会显示“当前余额不足!”)
选择1:
记录了我们的收入与支出,同时金额也在相应进行变化。
选择4:输入y或n,如果没输对,就提示输入错误;输入y,则退出;输入n,则返回;
java面向对象数组实现家庭收支记账软件_golang实战--家庭收支记账软件(面向过程)...相关推荐
- java面向对象数组_Java面向对象的构造器与数组对象
Java开发离不开面相对象,那么面向对象如何来的?什么又是数组对象?今天小编就来与大家共同学习一下Java的面向对象的构造器与数组对象. 构造器:用于创建对象时执行初始化.当创建一个对象时eg:new ...
- java面向对象基础
java数组 文章目录 java面向对象初步认识 软件开发 面向对象和面向过程 对象 对象和类 类的定义 类和对象的练习 类的方法 类的方法的练习 java面向对象初步认识 软件开发 软件开发分为了结 ...
- Java—面向对象设计—类和对象
理解面向对象程序设计 面向对象程序(Object-oriented programming,OOP)设计是继面向过程又一具有里程碑意义的编程思想,是现实世界模型的自然延伸.下面从结构化程序设计说起,逐 ...
- java面向对象编程基础
java面向对象编程基础 前言:什么是java 是咖啡飘香的清晨 - 是斯坦福校园意浓情深 - 是James的思想睿智 是剁手党双十一挥舞的利刃 是大数据云计算驰骋的平台 - 是ATM上吐出的钞票 - ...
- Java面向对象(OOP)入门
一.面向对象概述 Java是面向对象思想的高级计算机编程语言. 面向对象(简称:OOP)是一种以事物为中心的编程思想,是一种程序开发的方法,它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件 ...
- java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法
面向过程和面向对象 解决简单问题可以使用面向过程 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程. 面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向 ...
- Java面向对象回顾
Java面向对象回顾 文章目录 Java面向对象回顾 一.面向对象 1.什么是对象 现实生活中的对象与程序中的对象 2.什么是面向对象 面向过程 面向对象 3.面向过程与面向对象的比较 思想方面 设计 ...
- java面向对象最全入门笔记(通俗易懂,适合初学者)
需要资料的加微信 备注01(记得备注,不然不通的) 免费领取三套价值2880元的Java资料 1.上百本Java电子书 2.Java互联网分布式应用视频资料合集 3.阿里.百度.腾讯等等大厂Java面 ...
- php是面向对象还是过程,PHP面向过程和面向对象
php程序编写分为面向过程和面向对象.两者在功能实现上没有区别,但是在代码编写上区别很大,面向过程的代码很乱,不易管理,而面向对象把常用的功能封装为一个类,这样代码清楚多了. 下面举个小例子说明一下: ...
- 通俗易懂地说明「面向对象」和「面向过程」的区别
一.面向对象是什么 面向对象 (Object Oriented,OO) 的思想对软件开发相当重要,它的概念和应用甚至已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布 ...
最新文章
- 宇宙是一个无始无终的循环?
- SMTPDiag 诊断工具
- CefSharp向浏览器中指定DOM发送点击事件
- Java单链表、双端链表、有序链表实现
- GIPS语音编解码器家族
- Flask框架——ORM数据库
- 【SpringCloud】Spring cloud 版本与 spring boot版本对应关系
- Macaca使用过程中的疑问
- php连接mysql执行sql语句_php+mysql 连接服务器、数据库以及执行SQL语句的类库
- 打不开gitHub的解决方法
- 【图像融合】基于matlab GUI SIFT+小波变换图像拼接融合系统【含Matlab源码 815期】
- MySQL5.6安装流程(MySQL入门)
- 遗传算法matlab_遗传算法简单介绍与MATLAB实现
- MCS-51单片机总体概述(一)
- 【python】计算圆周率到任意位支持任意位(速度快)
- zoom会议背景设置,zoom手机背景怎么设置
- 超强总结,用心分享丨大数据超神之路(三):Linux必备知识
- 注册企业邮箱,怎么给国外的人发邮件?
- 使用Java实现建造者模式
- qBittorrent一个替代 µTorrent 的开源软件