Балансировщик чековых книжек Java

#java #iteration

Вопрос:

У меня возникли проблемы с исправлением приведенного ниже кода. Это не дает мне никакой синтаксической ошибки, но я знаю, что за этим стоит какой-то логический код, и я не могу указать на него и исправить его.

Я все еще новичок в кодировании, поэтому мне придется поучиться у вас в этом. Спасибо!

Вот проблема, на которой я должен сделать код:

 Make a simple checkbook balancer that would input a sequence of 
deposits (positive floating-point values) and 
issuances (negative floating-point values) terminated by a 0. 
It would output the transaction type, the amount and the running balance for each entry. 
Assume the initial balance of 0. Ensure that the issued check won’t bounce!
 
 import java.util.*;
import java.lang.*;

public class Checkbook{
    public static void main (String[]args){
        Scanner input = new Scanner(System.in);
        float bal=0, amt=0;
        char reply;

        do{
            System.out.print("Input Amount: ");
            amt=input.nextInt();
            if(amt>0){

                bal =amt;

                System.out.print("nAmount: "  amt);
                System.out.print("nTransaction Line: Deposit");
                System.out.print("nRunning Balance: "  bal);
                ;
                }


            else if(amt<0 ){

                bal-=amt;

                System.out.print("nAmount: "  Math.abs(amt));
                System.out.print("nTransaction Line: Issuance");
                System.out.print("nRunning Balance: "  bal);
                ;
                }
            else

                do{
                            System.out.println("Hello world!");
                            System.out.println("Again? [y/n]");
                            reply=input.next().charAt(0);   
                }while(reply!='n');



        }while(bal!=0);

    }
}
 

Вот как это выглядит в настоящее время.
введите описание изображения здесь

Комментарии:

1. Одна вещь, которая, безусловно, неправильна, заключается в том, что вы печатаете одну и ту же переменную/значение для «Суммы», «Строки транзакции» и «Текущего баланса» почти везде. Я уверен, что переменная amt не представляет все эти значения

2. Ах да, спасибо, что заметили это. Мои глаза кривятся, когда я смотрю на код. Я отредактировал этот фрагмент, но теперь он только добавляет сумму и сумму, а не вычитает ее, даже если она отрицательная. Я также обновил вопрос с последними изменениями

3. Пожалуйста, правильно отформатируйте свой код. Это сделает ваш код более читабельным как для вас самих, так и для будущих читателей.

4. Однако я не совсем уверен, как разместить сумму ввода в следующей строке. Все действительно начинается с самого верха. и это не заканчивается