Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Formatiranje stringa - ima li jednostavnije resenje?

  • 6 odgovora
  • 3.984 pregleda

Najnovija ↓

Formatiranje stringa - ima li jednostavnije resenje? 10.01.2007. u 20:54 · pre 241 mesec #1
Pocetnik sam u javi, ali sa velikim znanjem C++. Ovaj primer je iz Deitelove knjige (prepravljen) da radi pod Eclipse 3.2 i jdk 6. U knjizi koriste printf isto kao u C++, ali to ne radi...

Na ovo resenje sam "nekako" nabasao, ali sam ubedjen da postoji elegantnije...

Svaka pomoc i savet su dobrodosli...

Code:


import java.util.*;

public class AccountTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Account account1 = new Account(50.00);
        Account account2 = new Account (-7.53);
        
        System.out.printf("account1 balance: $%10.2f%n", 
                new Object[] {new Double (account1.getBalance())});
        System.out.printf("account2 balance: $%10.2f%n",
                new Object[] {new Double (account2.getBalance())});
        
        Scanner input = new Scanner(System.in);
        double depositAmount;
        
        System.out.print("Enter deposit amount for account1: ");
        depositAmount = input.nextDouble();
        System.out.printf("%nAdding $%.2f to account1 balance%n%n",
                new Object[] {new Double (depositAmount)});
        account1.credit(depositAmount);
        
        System.out.printf("account1 balance: $%10.2f%n", 
                new Object[] {new Double (account1.getBalance())});
        System.out.printf("account2 balance: $%10.2f%n",
                new Object[] {new Double (account2.getBalance())});
        
        System.out.print("Enter deposit amount for account2: ");
        depositAmount = input.nextDouble();
        System.out.printf("%nAdding $%.2f to account1 balance%n%n",
                new Object[] {new Double (depositAmount)});
        account2.credit(depositAmount);
        
        System.out.printf("account1 balance: $%10.2f%n", 
                new Object[] {new Double (account1.getBalance())});
        System.out.printf("account2 balance: $%10.2f%n",
                new Object[] {new Double (account2.getBalance())});
        
    }

}

Re: Formatiranje stringa - ima li jednostavnije resenje? 10.01.2007. u 20:59 · pre 241 mesec #2
Dodatak

Sledeci kod

Code:


System.out.printf("account2 balance: $%10.2f%n", account2.getBalance());



prijavljuje gresku

Code:


The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, double)



Hvala
Re: Formatiranje stringa - ima li jednostavnije resenje? 10.01.2007. u 21:15 · pre 241 mesec #4
Sta ti vraca getAccountBalance()?Imam neki feeling da vraca float(primitivan tip u svakom slucaju), a ti ga koristis na mestu gde se ocekuje niz objekata. I sam si vec ispisao resenje:
Code:
 System.out.printf("account2 balance: $%10.2f%n",
                new Object[] {new Double (account2.getBalance())});


;)
Re: Formatiranje stringa - ima li jednostavnije resenje? 12.01.2007. u 08:49 · pre 241 mesec #6
Dodatak - resen problem pa ako nekoga interesuje resenje...

Pod Javom 5 mogu da se koriste i primitivne varijable za formatiranje teksta.

Problem je bio kod Workspace Settings u Eclipse-u, tamo je postavljena "kompatibilnost" sa prijasnjim verzijama (1.4).

Ko god ima problema sa Java 5 i 6 "novitetima" u Eclipse-u samo treba da "postavi" kompatibilnost.
Re: Formatiranje stringa - ima li jednostavnije resenje? 12.01.2007. u 08:57 · pre 241 mesec #7
Da...vrlo me je zacudilo sto ima samo takva debilna metoda...prosto mi nije licilo na javu....nisam se mnogo bavio formatiranim ulazom u javi doduse...korisno, ali ne preterano ;)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme