Zczytywanie liczb z TextField

0

Witam ! W jaki sposób mogę zczytać liczby z:

t1 = new java.awt.TextField(20); add(t1);
t2 = new java.awt.TextField(20); add(t2);
t3 = new java.awt.TextField(20); add(t3);
 

po kliknięciu określonego buttona, a następnie przypisać je np. do int liczba_1, liczba_2, liczba_3; ?

0
liczba_1 = Integer.parseInt(t1.getText());

Nie nazywaj zmiennych w ten sposób - nazwa powinna coś oznaczać, wskazywać na przeznaczenie zmiennej. Dodatkowo proponuję konwencję camelCase

0
byku_guzio napisał(a)
liczba_1 = Integer.parseInt(t1.getText());

Nie nazywaj zmiennych w ten sposób - nazwa powinna coś oznaczać, wskazywać na przeznaczenie zmiennej. Dodatkowo proponuję konwencję camelCase

Dzięki ;)

0

Mam jeszcze jeden problem :/

Powiedzmy, że mam 6 liczb chce wyliczyć procent każdej z niej i narysować wykres.

 
             l1 = Integer.parseInt(t1.getText());
             l2 = Integer.parseInt(t2.getText());
             l3 = Integer.parseInt(t3.getText());
             l4 = Integer.parseInt(t4.getText());
             l5 = Integer.parseInt(t5.getText());
             l6 = Integer.parseInt(t6.getText());
             
             suma = (l1+l2+l3+l4+l5+l6);
           
             prc1 = ((l1/suma)*100); 
             prc2 = ((l2/suma)*100);  
             prc3 = ((l3/suma)*100);  
             prc4 = ((l4/suma)*100);  
             prc5 = ((l5/suma)*100);  
             prc6 = ((l6/suma)*100);

Obliczenia te muszę robić na double, ponieważ gdy zrobię na int nie przelicza (w większości przypadków wychodzą liczby wymierne),
a gdy zrobię na double i dobrze wylicza procenty to nie rysuje wykresu ponieważ we współrzędnych musi być int.

 g.drawImage(s1, 466, 550, 41, -(prc1*2), this);
 g.drawImage(s2, 528, 550, 41, -(prc2*2), this);
0

g.drawImage(s1, 466, 550, 41, (int)(-0.5-(prc1*2)), this);

0

Zostało mi jeszcze zaokrąglić liczby do dwóch miejsc po przecinku :

float w1, w2, w3, w4, w5, w6; 

Jaki jest najprostszy sposób na zaokrąglenie liczb do dwóch miejsc po przecinku ?
Interesuje mnie również w jaki sposób wyświetlić liczbę z dwoma miejscami po przecinku bez zaokrąglania.
Znalazłem kilka metod w internecie, niestety nie udało mi się żadnej zastosować :/

0
remigio napisał(a)

http://lmgtfy.com/?q=zaokr%C4%85glanie+liczb+java

Nie no, dzięki za pomoc. Gdybyś przeczytał dokładnie mój post to wiedział byś, że znalazłem kilka metod tylko nie potrafię ich zastosować.

public static String formatliczby(w1, int 2) {
        return "" + (new BigDecimal("" + w1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
    }

zaimportowałem bibliotekę, jednak wywala błąd <identifier>expected

0

Np. tak

DecimalFormat df = new DecimalFormat("#####.##");
double liczba = ...;
....setText(df.format(liczba));
0
bo napisał(a)

Np. tak

DecimalFormat df = new DecimalFormat("#####.##");
double liczba = ...;
....setText(df.format(liczba));

Wstawiłem:

 
DecimalFormat df = new DecimalFormat("#####.##");

do public class,a następnie:

g.drawString((df.format(w1))+"%", 20,20);  

do metody paint, działa jak należy ;)
Wielkie dzięki !

1 użytkowników online, w tym zalogowanych: 0, gości: 1