家庭收支项目



接下来放代码
package study_04关卡7;
import java.util.*;
public class 家庭收支程序 {
public static void main(String[] args) {
分离.mainInterface();
char a = 分离.functionSelection();
String[][] arr = new String[1000][4];
String[] arr1 = new String[4];
arr[0][0] = "收支";
arr[0][1] = "账户总金额";
arr[0][2] = "收支金额";
arr[0][3] = "说 明";
arr[1][0] = "默认";
arr[1][1] = "10000";//7
arr[1][2] = "默认 ";//5
arr[1][3] = "默认 "; //62
for (; ; ) {
if (a == '2') {
分离.two(arr1, arr);
System.out.println("亲爱的用户,请您观察一下您输入的数据是否准确无误");
System.out.println(Arrays.toString(arr1));
System.out.println("如果您想重新输入的话,请输入数字1或者2,\n1表示重新输入,2表示返回主界面");
char b = 分离.functionSelectionTwo();
for (; ; ) {
if (b == '1') {
分离.two(arr1, arr);
System.out.println("亲爱的用户,请您观察一下您输入的数据是否准确无误");
System.out.println(Arrays.toString(arr1));
System.out.println("如果您想重新输入的话,请输入数字1或者2,\n1表示重新输入,2表示返回主界面");
b = 分离.functionSelectionTwo();
continue;
} else if (b == '2') {
分离.mainInterface();
分离.arr(arr, arr1);
break;
}
}
} else if (a == '3') {
分离.three(arr1, arr);
System.out.println("亲爱的用户,请您观察一下您输入的数据是否准确无误");
System.out.println(Arrays.toString(arr1));
System.out.println("如果您想重新输入的话,请输入数字1或者2,\n1表示重新输入,2表示返回主界面");
char b = 分离.functionSelectionTwo();
for (; ; ) {
if (b == '1') {
分离.three(arr1, arr);
System.out.println("亲爱的用户,请您观察一下您输入的数据是否准确无误");
System.out.println(Arrays.toString(arr1));
System.out.println("如果您想重新输入的话,请输入数字1或者2,\n1表示重新输入,2表示返回主界面");
b = 分离.functionSelectionTwo();
continue;
} else if (b == '2') {
分离.mainInterface();
分离.arr(arr, arr1);
break;
}
}
} else if (a == '1') {
for (int i = 0; i > -1; i++) {
boolean bo = true;
for (int j = 0; j < 4; j++) {
if (arr[i][j] == null) {
bo = false;
break;
}
// System.out.print(arr[i][j] + ",");
System.out.print(String.format("%-10s",arr[i][j]));
}
System.out.println();
if (bo == false) {
break;
}
}
分离.mainInterface();
}else{
break;
}
a = 分离.functionSelection();
}
}
}以上就是写的主函数,接下来给大家放封装的方法。分离这两个字是类名,后面跟的是封装的方法名。
下面放代码
package study_04关卡7;
import java.util.Arrays;
import java.util.Scanner;
public class 分离 {
static Scanner scanner = new Scanner(System.in);
//将生成的数组放进二维数组里面。
public static void arr(String arr[][],String arr1[]){
String str="";
boolean a =true;
for (int i = 0; i > -1; i++) {
for (int j = 0; j < 4; j++) {
if (arr[i][j] == null) {
for (int k = 0; k <4 ; k++) {
arr[i][k]=arr1[k];
}
a = false;
break;
}
}
if (a == false) {
break;
}
}
}
//限定最多输入几个字符
public static String characterLength(int length) {
String rawData = "";
boolean i = true;
while (i) {
rawData = scanner.next();
if (rawData.length() < 1 || rawData.length() > length) {
System.out.println("您输入的长度不符合,请输入长度为" + length + "的数据");
} else {
i = false;
}
}
return rawData;
}
//实现功能选择,确保只能输入1到4
public static char functionSelection() {
char a;
for (; ; ) {
String str = characterLength(1);
a = str.charAt(0);
if (a != '1' && a != '2' && a != '3' && a != '4') {
System.out.println("输入错误重新输入");
} else {
break;
}
}
return a;
}
//实现功能选择,确保只能输入1-2
public static char functionSelectionTwo() {
char a;
for (; ; ) {
String str = characterLength(1);
a = str.charAt(0);
if (a != '1' && a != '2' ) {
System.out.println("输入错误重新输入");
} else {
break;
}
}
return a;
}
//确保输入的都是纯数字,这里用于支出。
public static String allNumber1(String arr[][]) {
char a;
String str = "";
System.out.print("请您输入您支出了多少钱,请输入纯数字");
for (; ; ) {
str = scanner.next();
if(str.length()>9){
System.out.println("请重新输入,您输入的位数过大");
continue;
}
boolean x = true;
for (int i = 0; i < str.length(); i++) {
boolean c = false;
c = false;
a = str.charAt(i);
for (int k = 0; k < 10; k++) {
if (a == (char) (k + '0')) {
c = c | true;
continue;
}
}
if (c == false) {
System.out.print("您输入的格式有误,请输入纯数字");
x = false;
break;
} else {
x = x & c;
}
}
if (x == true) {
String s=allMoney(arr);
int ss=Integer.parseInt(s);
int st=Integer.parseInt(str);
if(st>ss){
System.out.println("您输入的支出大于了您的总金额,支出失败");
System.out.println("请您重新输入");
}else {
break;
}
}
}
str = "-" + str;
return str;
}
//确保输入的都是纯数字,这里用于收入。
public static String allNumber() {
char a;
String str = "";
System.out.print("请您输入您收入了多少钱,请输入纯数字");
for (; ; ) {
str = scanner.next();
if(str.length()>9){
System.out.println("请重新输入,您输入的位数过大");
continue;
}
boolean x = true;
for (int i = 0; i < str.length(); i++) {
boolean c = false;
c = false;
a = str.charAt(i);
for (int k = 0; k < 10; k++) {
if (a == (char) (k + '0')) {
c = c | true;
continue;
}
}
if (c == false) {
System.out.print("您输入的格式有误,请输入纯数字");
x = false;
break;
} else {
x = x & c;
}
}
if (x == true) {
break;
}
}
str = "+" + str;
return str;
}
//调用已经输入的金额
public static String money(String arr[]){
String str = "";
str=arr[2];
str=str.substring(1);
return str;
}
//调用总金额
public static String allMoney(String arr[][]) {
String str = "";
boolean a = true;
for (int i = 0; i > -1; i++) {
for (int j = 0; j < 4; j++) {
if (arr[i][j] == null) {
str = arr[i - 1][1];
a = false;
break;
}
}
if (a == false) {
break;
}
}
return str;
}
//支出总金额计算
public static String totalAmount1(String arr[][],String arr1[]) {
String str = money(arr1);
int a;
a = Integer.parseInt(str);
int b;
String s = allMoney(arr);
b = Integer.parseInt(s);
int c = b-a;
String i= c+"";
return i;
}
//收入总金额计算。
public static String totalAmount(String arr[][],String arr1[]) {
String str = money(arr1);
int a;
a = Integer.parseInt(str);
int b;
String s = allMoney(arr);
b = Integer.parseInt(s);
int c = a + b;
String i= c+"";
return i;
}
//输入说明,限制五个字符
public static void reason(String arr[]){
System.out.println("请输入关于这笔钱的说明");
String a=characterLength(5);
arr[3]=a;
}
//确保只能输入收入这两个字
public static void income(String arr[]) {
String a="收入";
arr[0] = a;
}
//确保只能输出支出这两个字
public static void expenditure(String arr[]) {
String a="支出";
arr[0] = a;
}
//功能2
public static void two(String arr[],String arr1[][]) {
System.out.println("------------欢迎来到登记收入界面kiss,kiss----------");
income(arr);
String a = allNumber();
arr[2] = a;
String b =totalAmount(arr1,arr);
arr[1]=b;
reason(arr);
}
//主界面
public static void mainInterface(){
System.out.println("----------家庭收支记账程序----------");
System.out.println(" 1.收支明细");
System.out.println(" 2.登记收入");
System.out.println(" 3.登记支出");
System.out.println(" 4.退出");
System.out.println();
System.out.print(" 请选择(1-4);");
}
/**
*实现功能三
* @param arr
* @param arr1
*/
public static void three(String arr[],String arr1[][]){
expenditure(arr);
String str= allNumber1(arr1);
arr[2]=str;
reason(arr);
String a= totalAmount1(arr1,arr);
arr[1]=a;
}
}
版权声明:本文为m0_72683070原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。