zoukankan      html  css  js  c++  java
  • 编写一个程序的步骤

    在day04_javase的视频中,感觉这个老师讲的是超级详细,容易懂得怎么样做,简直是手把手写注释

    先一个程序:

    1先分析你这个程序流程

    2.在写代码钱用注释写出每一个步骤执行什么(大体的框架)

    3.安装注释在下面一行一行写代码,清晰明了无比

    (由于那个需求分析的ppt插入不进来,所以一般人还是不太看得懂我说的)

    1.先分析这个程序的流程

    2.用文字注释写在编写的代码行,

    3.根据注释写出代码

     1 package day04_javase;
     2 /**
     3  * 简单的家庭收支统计系统
     4  *
     5  */
     6 public class FamilyAccount {
     7 
     8     public static void main(String[] args) {
     9         //声明余额变量的初始值是10000
    10         int balance=10000;
    11         //声明记账本,初始值是表头
    12         String detail="收支	 账户金额	 收支金额	 说  明
    ";
    13         //声明布尔值,用来做循环条件
    14         Boolean loopFlag=true;
    15         //1在循环中,打印主菜单
    16         while(loopFlag){
    17             System.out.println("
    *******************家庭收支记账软件******************
    ");
    18             System.out.println("");
    19             System.out.println("            1.收支明细");
    20             System.out.println("            2.登记收入");
    21             System.out.println("            3.等级支出");
    22             System.out.println("        4.退出
    ");
    23             System.out.println("");
    24             System.out.print("请输入您的选择(1-4):");
    25         //2获取用户的键盘输入utility.readMenuSelection();
    26             char userInput=Utility.readMenuSelection();
    27         //3获取用户输入的分支
    28             switch(userInput){
    29             //用户输入1时,,打印记账本;
    30             case '1':
    31                 System.out.println("****************当前收支记录****************");
    32                 System.out.println(detail);
    33                 System.out.println("*******************************************");
    34                 break;
    35             //用户输入2时,登记收入
    36             case'2':
    37                 System.out.print("请输入您收入的金额:");
    38                 //用户输入金额用int money保存
    39                 int money=Utility.readNumber();
    40                 System.out.print("请输入收入的来源:");
    41                 String Info=Utility.readString();
    42                 //余额的增加,本来的加上收入的等于最新的余额
    43                 balance+=money;
    44                 //声明一个字符串,把当前的的操作细节拼接成一个字符串
    45                 String string="收入"+"	"+balance+"	"+money+"	"+Info+"
    ";
    46                 //把这个string字符串拼接到detail上面去
    47                 detail+=string;
    48                 System.out.println("************************本次录入完成***************");
    49                 break;
    50             //用户输入3时,登记支出
    51                 case'3':
    52                         System.out.print("请输入您支出的金额:");
    53                         //用户输入金额用int money保存
    54                         int money1=Utility.readNumber();
    55                         System.out.print("请输入支出的用途:");
    56                         String Info1=Utility.readString();
    57                         //余额的增加,本来的加上收入的等于最新的余额
    58                         balance-=money1;
    59                         //声明一个字符串,把当前的的操作细节拼接成一个字符串
    60                         String string1="支出"+"	"+balance+"	"+money1+"	"+Info1+"
    ";
    61                         //把这个string字符串拼接到detail上面去
    62                         detail+=string1;
    63                         System.out.println("************************本次录入完成***************");
    64                         break;
    65                 
    66             //用户输入4时,设置布尔值变量为假,退出程序
    67             case'4':
    68                 System.out.print("是否要退出?请选择(Y/N)");
    69                 char confirm=Utility.readConfirmSelection();
    70                 if(confirm=='y'){
    71                 loopFlag=false;
    72                 }
    73                 break;
    74             }
    75         
    76         }
    77     }
    78 
    79 }
     1 package day04_javase;
     2 import java.util.*;
     3 
     4 public class Utility {
     5     private static Scanner scanner = new Scanner(System.in);
     6     
     7     public static char readMenuSelection() {
     8         char c;
     9         for (; ; ) {
    10             String str = readKeyBoard(1);
    11             c = str.charAt(0);
    12             if (c != '1' && c != '2' && c != '3' && c != '4') {
    13                 System.out.print("选择错误,请重新输入:");
    14             } else break;
    15         }
    16         return c;
    17     }
    18 
    19     public static int readNumber() {
    20         int n;
    21         for (; ; ) {
    22             String str = readKeyBoard(4);
    23             try {
    24                 n = Integer.parseInt(str);
    25                 break;
    26             } catch (NumberFormatException e) {
    27                 System.out.print("数字输入错误,请重新输入:");
    28             }
    29         }
    30         return n;
    31     }
    32 
    33     public static String readString() {
    34         String str = readKeyBoard(8);
    35         return str;
    36     }
    37 
    38     public static char readConfirmSelection() {
    39         char c;
    40         for (; ; ) {
    41             String str = readKeyBoard(1).toUpperCase();
    42             c = str.charAt(0);
    43             if (c == 'Y' || c == 'N') {
    44                 break;
    45             } else {
    46                 System.out.print("选择错误,请重新输入:");
    47             }
    48         }
    49         return c;
    50     }
    51 
    52     private static String readKeyBoard(int limit) {
    53         String line = "";
    54 
    55         while (scanner.hasNext()) {
    56             line = scanner.nextLine();
    57             if (line.length() < 1 || line.length() > limit) {
    58                 System.out.print("输入长度(不能大于" + limit + ")错误,请重新输入:");
    59                 continue;
    60             }
    61             break;
    62         }
    63 
    64         return line;
    65     }
    66 }
    Utility
  • 相关阅读:
    Insus Meta Utility
    The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
    Insus Binary Utility
    asp.net实现文件下载功能
    Column 'Column Name' does not belong to table Table
    程序已被编译为DLL,怎样去修改程序功能
    如何在Web网站实现搜索功能
    如何把数据流转换为二进制字符串
    Asp.net更新文件夹的文件
    如何显示中文月份
  • 原文地址:https://www.cnblogs.com/javastu/p/5506173.html
Copyright © 2011-2022 走看看