2016-10-05 2 views
-2

수업에 과제를 완료하는 데 약간의 문제가 있습니다. 모든 12 월 파일에서다음 번호가 음수가 될지 여부를 어떻게 확인합니까?

읽고 각 월의 시작 균형을 인쇄 :
지침입니다. 잔액이 음수이면 표준 출력에 경고 메시지를 인쇄하십시오.

모든 파일의 형식이 어떻게 생겼는지의 예는 다음과 같습니다

import java.io.File; 
import java.io.FileNotFoundException; 
import java.util.Scanner; 

public class Excercise4 { 

public static void main(String[] args) throws FileNotFoundException { 
    // TODO Auto-generated method stub 
    Scanner sc = new Scanner(System.in); 
    System.out.println("Enter the file name: "); 
    String filename = sc.next(); 
    File myFile = new File(filename); 
    Scanner myScanner = new Scanner(myFile); 
    float temp = 0; 
    float sum = 0; 
    while(myScanner.hasNextFloat()) { 
      temp = myScanner.nextFloat(); 
      sum += temp; 
      System.out.println(sum); 
    } 
    } 
} 

이 어떤 도움을 크게 감상 할 수 및 주시기 바랍니다 :

dep 350.18 
wdr 500 
wdr 4.99 
wdr 7.95 
wdr 25 
dep 50 
wdr 199.99 
wdr 25 
wdr 25 
wdr 9.72 

내 코드는 지금까지입니다 내가 질문을 편집해야하는지 안다.

+1

어디에서 마이너스 잔액 확인 코드를 작성 했습니까? 먼저 실수를 적어두면 문제를 극복하는 데 도움이됩니다. –

+0

팁 :'filename = sc.nextLine(); '을 사용하고 싶을 수도 있습니다. –

+0

'if' 문과'String.equals()'를 사용하여 입력 행이 입금인지 또는 철수. 예금 인 경우, 당신은'sum + ='를 여러분의 것과 같이 추가합니다, 철회라면'sum - ='과 합을 빼면됩니다. –

답변

0

다음 번호가 음수가 될지 여부를 어떻게 확인합니까?

sumbalance으로 전화를 걸자.

double balance = 0; 
String line; 
while (scanner.hasNextLine()) { 
    line = myScanner.nextLine(); // Read the line 
    String[] parts = line.split("\\s+"); // split on one or more whitespaces 
    String action = parts[0]; // 'dep' or 'wdr' 
    double amount = Double.parseDouble(parts[1]); 
    if ("wdr".equals(action) && amount > balance) { 
     // Warning: not enough funds 
     break; // exit the loop, if required 
    } 
    balance += amount; 
} 

System.out.println(balance); // Print the final balance 
+1

총액이 음수이면 OP를 의미합니다. 즉, 철수 일 경우 'if (sum-temp <0) {// warning}' –

+0

아, 그 말이 맞는 것 같습니다. 'wdr' 대'dep'에 대해서는 정말로 생각하지 않았습니다. 그래도 한 달의 시작 부분을 식별 할 수있는 것은 명확하지 않습니다. –

+0

@ cricket_007 왜 배열 인수가 'parseDouble (parts [1])'의 범위를 벗어납니다. 이유에 대한 의견이 있으십니까? – themaster389

1
  1. 파일은 거래 유형 (출발, WDR)과 양 모두 포함되어 있습니다. 유형에 따라 금액을 입금 (dep)하거나 인출 (wdr)해야합니다.
  2. 각 거래마다 잔액이 인쇄됩니다. 각 파일 다음에 인쇄해야합니다.
  3. 각 거래가 끝날 때 잔액이 마이너스인지와 경고를 인쇄해야하는지 확인해야합니다.
  4. 여러 개의 파일을 반복해야합니다. 현재는 하나만 읽습니다.
관련 문제