有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案