有大佬看看这个1代码为什么运行不了吗?
import java.util.Scanner;public class work01 {
//本金
private static int principal = 1000;
//记录语句
private static String record = "\n收支明细\t\t账户金额\t\t收支金额\t\t说 明\n----\t\t"+principal+"\t\t----\t\t本 金\n";
//用于保存记录语句
private static StringBuffer sb = new StringBuffer();
//创建输入对象
private static Scanner sc = new Scanner(System.in);
/**
*主方法
* @param args
*/
public static void main(String[] args) {
// 将语句加到StringBuffer对象sb里
sb.append(record);
// 定义循环标志位,用于退出时跳出循环
boolean loopFlag = true;
do {
// 显示菜单
view();
// 接收菜单选项的编号
int menuCode = getMenuCode();
// 选择菜单执行相应内容
switch(menuCode) {
case 1:
// 打印收支明细
System.out.println(sb);
break;
case 2:
// 添加收入记录
selectSecond();
break;
case 3:
// 添加支出记录
selectThird();
break;
case 4:
// 退出系统
System.out.print("是否确认退出(Y/N):");
// 接收字符Y或N
char c = getYesOrNo();
// 接收到Y时给循环标志位赋值False跳出循环退出系统
if(c=='Y') loopFlag = false;
break;
}
} while (loopFlag );
}
/**
* 打印菜单信息
*/
public static void view() {
System.out.println("\n-------------------------------家庭收支记账软件-------------------------------\n");
System.out.println(" 1.收支明细");
System.out.println(" 2.收入金额");
System.out.println(" 3.支出金额");
System.out.println(" 4.退 出\n");
System.out.print("请输入选择序号:");
}
/**
* 获取数字
* @return
*/
public static int getNumber() {
int num = -1;
// 判断是否有输入
while(sc.hasNext()) {
// 输入是否为int类型
if (sc.hasNextInt()) {
// 接收输入的数字
num = sc.nextInt();
break;
}else {
System.out.print("没有所选项,请重新输入:");
// 输入
sc.next();
}
}
return num;
}
/**
* 获取菜单选项序号
* @return
*/
public static int getMenuCode() {
int menuCode;
for(;;) {
// 调用getNumber()方法接收数字
menuCode = getNumber();
// 判断数字是否为1 2 3 4
if (menuCode==1 || menuCode==2 || menuCode==3 || menuCode==4) {
break;
}else {
System.out.print("没有所选项,请重新输入:");
}
}
return menuCode;
}
/**
* 获取字母YN
* @return
*/
public static char getYesOrNo() {
char c;
for(;;) {
// sc.next() 接收字符串 toUpperCase() 字符串转大写charAt(0) 截取第一个字符
c = sc.next().toUpperCase().charAt(0);
// 判断截取字符是否为YN
if ('Y' == c || 'N' == c) {
break;
}else {
System.out.print("没有所选项,请重新输入:");
}
}
return c;
}
/**
* 添加收入记录
*/
public static void selectSecond() {
System.out.print("收入金额:");
// 收入金额
int income = getNumber();
// 本金 = 本金 + 支出金额
principal += income;
System.out.print("说 明:");
// 说明文字
String des = sc.next();
String str = "收入\t\t"+principal+"\t\t"+income+"\t\t"+des+"\n";
sb.append(str);
}
/**
* 添加支出记录
*/
public static void selectThird() {
System.out.print("支出金额:");
// 支出金额
int outlay = getNumber();
// 本金 = 本金 - 支出金额
principal -= outlay;
System.out.print("说 明:");
// 说明文字
String des = sc.next();
String str = "收入\t\t"+principal+"\t\t"+outlay+"\t\t"+des+"\n";
sb.append(str);
}
}
. 搞定了 代码没有问题
import java.util.Scanner;上面是不是少package 路径。
页:
[1]