2016-04-21 22 views
0

這是一個閱讀,但我需要重用用戶輸入,是否有一種方法,我可以用來操縱用戶輸入的數據。調用使用輸入來執行某些任務

也因爲某些原因,當我輸出的總數在最後它給了我每個條目的累計總和,我只需要總數。

import java.util.*; 

public class Account { 
    String Name = NewCamper.getCamperName(); 
    private static double balance; 

    Account(){ 
     balance = 0.0; 
    } 

    Account(String aFname, String aLname){ 
     aFname = NewCamper.first; 
     aLname = NewCamper.last; 
    } 

    public void deposit(double amountDep){ 
     balance=balance+amountDep; 
    } 

    private double oldBalance(){ 
     return(Account.balance); 
    } 

    private double newBalance(double total){ 
     return(balance-total); 

    } 

    public static void main(String args[]){ 
     do{ 
      System.out.println("Credit Camper Account? (yes/no)"); 

      Scanner q =new Scanner(System.in); 
      String uq = q.nextLine(); 

      if (uq.equalsIgnoreCase("yes")){ 
       System.out.println("How much to credit?"); 
       double c = q.nextDouble(); 
       Account camp1 = new Account(); 
       camp1.deposit(c); 

       System.out.println("Camper Credit: " + c); 
      } 
      else if(uq.equalsIgnoreCase("no")){ 
      System.out.println(Account.balance);  
      } 
      else{ 
       System.out.println("Invalid Response"); 
       continue; 
      } 
      break; 
     }while(true); 

     List<String> transactions=new ArrayList<String>(); 
     List<Double> amount=new ArrayList<>(); 

     do{ 
      System.out.println("Enter a Transaction: "); 
      Scanner tInput =new Scanner(System.in); 
      Scanner dInput =new Scanner(System.in);  
      String a =tInput.nextLine(); 

      transactions.add(a); 
      System.out.println("Enter purchase amount: "); 

      double b =dInput.nextDouble(); 

      amount.add(b); 
      System.out.println("Do you have new record ?(yes/no)"); 
      String answer= tInput.nextLine(); 

      if(answer.equalsIgnoreCase("Yes")){ 
       continue; 
      }  
      break; 
     }while(true); 
     for (int i = 0; i < transactions.size(); i++) { 
     System.out.println(transactions.get(i)); 
     } 
     System.out.println(transactions+" (£)"+amount); 

     System.out.println("Input Camper First Name: "); 
     Scanner afn = new Scanner(System.in); 
     String af = afn.nextLine(); 

     System.out.println("Input Camper Surname: "); 
     Scanner aln = new Scanner(System.in); 
     String al = afn.nextLine(); 

     NewCamper.first = af; 
     NewCamper.last = al; 
     System.out.println(af+" "+al+" 's transactions:"+transactions); 
     System.out.println(af+" "+al+" 's purchase amounts:"+amount); 


     double total=0.0d; 
     for(int counter = 0; counter<amount.size(); counter++){ 
      total+=amount.get(counter); 
      System.out.println("Total Price: £"+ total); 
     } 
    } 
} 
+0

「我想重用用戶輸入」你的意思是將它存儲在一個變量? – SJuan76

+0

總數和累計總數有什麼區別? – Mark

+0

@Mark總數只是所有條目的總和,我得到的結果是數組0,然後數組0 + 1,然後數組0 + 1 + 2 ....等 – Todeh2

回答

0

更改此:

double total=0.0d; 
for(int counter = 0; counter<amount.size(); counter++){ 
    total+=amount.get(counter); 
    System.out.println("Total Price: £"+ total); 
} 

到:

double total=0.0d; 
for(int counter = 0; counter<amount.size(); counter++){ 
    total+=amount.get(counter); 
} 
System.out.println("Total Price: £"+ total); 

不應該令人感到意外的是把一個輸出語句成一個圈趨於輸出多行。

相關問題