JAVA:如何在输入地址值时使空格(“”)可读?
所以,我被指派制作一个电力计费系统。 我很难输入一些中间有空格的字符。 e、 g地址:伊夫利路19号
在 寄存器模块, 添加一个新客户及其详细信息:客户名称、账号(必须是10位数字)、家庭地址、当前电表读数(以kWh为单位)和以前的电表读数(以kWh为单位)
这是我的密码
import java.util.Scanner;
public class GA {
public static int i = 0;
public static void main(String[] args) {
final int MAX = 40;
String[] names = new String[MAX];
String[] address = new String[MAX];
int[]accnum = new int [MAX];
int[]kwh = new int [MAX];
double[] price = new double [MAX];
double[] total = new double [MAX];
double[] tax = new double [MAX];
double[] t = new double[MAX];
int i = 0;
int respond;
Scanner scan = new Scanner(System.in);
do {
menuDisplay();
respond = scan.nextInt();
switch (respond) {
case 1:
add(names, accnum, address, kwh, total, price, tax);
break;
case 2:
search(names, accnum, address, kwh, total, price, tax);
break;
case 3:
displayAll(names, accnum, address, kwh, total, price, tax);
break;
case 4:
System.out.println("Thank you for using the system!");
break;
default:
System.out.println("Pls enter 1 - 4 only!");
}
} while (respond != 4);
}
public static void menuDisplay() {
System.out.println("======== Menu =========");
System.out.println("1) Register");
System.out.println("2) Search Account");
System.out.println("3) Display All Accounts");
System.out.println("4) Quit");
System.out.print("Enter your option> ");
}
public static void add(String[] names, int[] accnum, String[] address, int[] kwh,double[] total, double[] tax,double[] price) {
Scanner scan = new Scanner(System.in);
int t = 0;
System.out.print("\nCustomer Name : ");
String name = scan.nextLine();
System.out.print("Account Number : ");
int ac = scan.nextInt();
System.out.print("Address : ");
String adr = scan.next();
System.out.print("Current Meter : ");
int cm = scan.nextInt();
System.out.print("Previous Meter : ");
int pm = scan.nextInt();
names[i] = name;
accnum[i] = ac;
address[i] = adr;
t= cm-pm;
kwh[i]= t;
if (t<=200){
price[i] = t*0.218;
}
else if (t<=300){
price[i] = ((t-200)*0.334)+43.6;
}
else if(t<=600){
price[i] = ((t-300)*0.516)+43.6+33.4;
}
else if(t<=900){
price[i] = ((t-600)*0.546)+43.6+33.4+154.8;
}
else if(t>=901){
price[i] = ((t-900)*0.546)+43.6+33.4+154.8+163.8;
}
tax[i] = price[i]*6/100;
total[i] = price[i] + tax[i];
System.out.println("\n------------------------------\n");
System.out.println("Customer Name : "+names[i]);
System.out.println("Account Number : "+accnum[i]);
System.out.println("Total kWh : "+kwh[i]);
System.out.printf("Bill Electricity : RM%.2f %n",price[i]);
System.out.printf("Electricity Tax : RM%.2f %n",tax[i]);
System.out.printf("Total Bill : RM%.2f %n\n",total[i]);
i++;
}
public static void displayAll(String[] names, int[] ans, String[] address, int[] kwh,double[] total, double[] tax,double[] price) {
System.out.println("Displaying all data in the system..\n");
for (int index = 0; index < i; index++) {
System.out.println("\n==========================");
System.out.println("Customer Name : "+names[index]);
System.out.println("Account Number : "+ans[index]);
System.out.println("Address : "+address[index]);
System.out.println("Total kWh : "+kwh[index]);
System.out.printf("Bill Electricity : RM%.2f %n",price[index]);
System.out.printf("Electricity Tax : RM%.2f %n",tax[index]);
System.out.printf("Total Bill : RM%.2f %n",total[index]);
System.out.println("==========================\n");
}
}
public static void search(String[] names, int[] ans, String[] address, int[] kwh,double[] total, double[] tax,double[] price) {
Scanner scan = new Scanner(System.in);
// do {
System.out.print("\nEnter the Customer number> ");
int m = scan.nextInt();
for (int index = 0; index < i; index++) {
if (m == ans[index]) {
System.out.println("Searching data in the system..");
System.out.println("Customer is found!\n");
System.out.println("Customer Name : "+names[index]);
System.out.println("Account Number : "+ans[index]);
System.out.println("Address : "+address[index]);
System.out.println("Total kWh : "+kwh[index]);
System.out.printf("Bill Electricit : RM%.2f %n",price[index]);
System.out.printf("Electricity Tax : RM%.2f %n",tax[index]);
System.out.printf("Total Bill : RM%.2f %n\n",total[index]);
break;
}
else if (m != ans[index]) {
System.out.println("\nNo Customer found!");
System.out.println("Please try again.\n");
}
}
}
}
当我输入空格时,它总是出错
共 (0) 个答案