编写一个程序的步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编写⼀个程序的步骤
在day04_javase的视频中,感觉这个⽼师讲的是超级详细,容易懂得怎么样做,简直是⼿把⼿写注释先⼀个程序:
1先分析你这个程序流程
2.在写代码钱⽤注释写出每⼀个步骤执⾏什么(⼤体的框架)
3.安装注释在下⾯⼀⾏⼀⾏写代码,清晰明了⽆⽐
(由于那个需求分析的ppt插⼊不进来,所以⼀般⼈还是不太看得懂我说的)
1.先分析这个程序的流程,
2.⽤⽂字注释写在编写的代码⾏,
3.根据注释写出代码
1package day04_javase;
2/**
3 * 简单的家庭收⽀统计系统
4 *
5*/
6public class FamilyAccount {
7
8public static void main(String[] args) {
9//声明余额变量的初始值是10000
10int balance=10000;
11//声明记账本,初始值是表头
12 String detail="收⽀\t 账户⾦额\t 收⽀⾦额\t 说明\n";
13//声明布尔值,⽤来做循环条件
14 Boolean loopFlag=true;
15//1在循环中,打印主菜单
16while(loopFlag){
17 System.out.println("\n*******************家庭收⽀记账软件******************\n");
18 System.out.println("");
19 System.out.println(" 1.收⽀明细");
20 System.out.println(" 2.登记收⼊");
21 System.out.println(" 3.等级⽀出");
22 System.out.println(" 4.退出\n");
23 System.out.println("");
24 System.out.print("请输⼊您的选择(1-4):");
25//2获取⽤户的键盘输⼊utility.readMenuSelection();
26char userInput=Utility.readMenuSelection();
27//3获取⽤户输⼊的分⽀
28switch(userInput){
29//⽤户输⼊1时,,打印记账本;
30case '1':
31 System.out.println("****************当前收⽀记录****************");
32 System.out.println(detail);
33 System.out.println("*******************************************");
34break;
35//⽤户输⼊2时,登记收⼊
36case'2':
37 System.out.print("请输⼊您收⼊的⾦额:");
38//⽤户输⼊⾦额⽤int money保存
39int money=Utility.readNumber();
40 System.out.print("请输⼊收⼊的来源:");
41 String Info=Utility.readString();
42//余额的增加,本来的加上收⼊的等于最新的余额
43 balance+=money;
44//声明⼀个字符串,把当前的的操作细节拼接成⼀个字符串
45 String string="收⼊"+"\t"+balance+"\t"+money+"\t"+Info+"\n";
46//把这个string字符串拼接到detail上⾯去
47 detail+=string;
48 System.out.println("************************本次录⼊完成***************");
49break;
50//⽤户输⼊3时,登记⽀出
51case'3':
52 System.out.print("请输⼊您⽀出的⾦额:");
53//⽤户输⼊⾦额⽤int money保存
54int money1=Utility.readNumber();
55 System.out.print("请输⼊⽀出的⽤途:");
56 String Info1=Utility.readString();
57//余额的增加,本来的加上收⼊的等于最新的余额
58 balance-=money1;
59//声明⼀个字符串,把当前的的操作细节拼接成⼀个字符串
60 String string1="⽀出"+"\t"+balance+"\t"+money1+"\t"+Info1+"\n";
61//把这个string字符串拼接到detail上⾯去
62 detail+=string1;
63 System.out.println("************************本次录⼊完成***************"); 64break;
65
66//⽤户输⼊4时,设置布尔值变量为假,退出程序
67case'4':
68 System.out.print("是否要退出?请选择(Y/N)");
69char confirm=Utility.readConfirmSelection();
70if(confirm=='y'){
71 loopFlag=false;
72 }
73break;
74 }
75
76 }
77 }
78
79 }
1package day04_javase;
2import java.util.*;
3
4public class Utility {
5private static Scanner scanner = new Scanner(System.in);
6
7public static char readMenuSelection() {
8char c;
9for (; ; ) {
10 String str = readKeyBoard(1);
11 c = str.charAt(0);
12if (c != '1' && c != '2' && c != '3' && c != '4') {
13 System.out.print("选择错误,请重新输⼊:");
14 } else break;
15 }
16return c;
17 }
18
19public static int readNumber() {
20int n;
21for (; ; ) {
22 String str = readKeyBoard(4);
23try {
24 n = Integer.parseInt(str);
25break;
26 } catch (NumberFormatException e) {
27 System.out.print("数字输⼊错误,请重新输⼊:");
28 }
29 }
30return n;
31 }
32
33public static String readString() {
34 String str = readKeyBoard(8);
35return str;
36 }
37
38public static char readConfirmSelection() {
39char c;
40for (; ; ) {
41 String str = readKeyBoard(1).toUpperCase();
42 c = str.charAt(0);
43if (c == 'Y' || c == 'N') {
44break;
45 } else {
46 System.out.print("选择错误,请重新输⼊:");
47 }
48 }
49return c;
50 }
51
52private static String readKeyBoard(int limit) {
53 String line = "";
54
55while (scanner.hasNext()) {
56 line = scanner.nextLine();
57if (line.length() < 1 || line.length() > limit) {
58 System.out.print("输⼊长度(不能⼤于" + limit + ")错误,请重新输⼊:"); 59continue;
60 }
61break;
62 }
63
64return line;
65 }
66 }
Utility。