#2 gna
Kdybych to věděl tak to sem nedávám. Ono to funguje, ale špatně to počítá, seděl sem nad tim hodinu a nevím si prostě rady. Nemohl by jsi mi pomoct nějak konrétně prosím?
Pokusil sem se naprogramovat tenhle úkol, ale nevypisuje mi to jak má nebo si nejsem jistej jestli je to dobře Nevim co dál s tím.
Zadání úkolu:
Je aplikace s použitím GUI napsaná v Javě
Načte 3 hodnoty -
délka strany trojúhelníku - double
délka strany trojúhelníku - double
Úhel, který tyto 2 strany svírají - double ve stupních
Program dopočte pomocí Kosinové věty délku 3. strany
Kontrola vstupu - oznamujte uživateli
Hodnoty jsou zadané
Hodnoty délek stran jsou kladné
0° < velikost úhlu < 180°
Výstup
Zformátujte na 2 desetinná místa
String Strana = x1.getText().trim();
String Strana2 = x2.getText().trim();
String Uhel = x3.getText().trim();
double strana;
double strana2;
double uhel;
if (Strana.length() == 0) {
JOptionPane.showMessageDialog(this, "Nezadal si hodnotu..");
return;
}
if (Strana2.length() == 0) {
JOptionPane.showMessageDialog(this, "Nezadal si hodnotu..");
return;
}
if (Uhel.length() == 0) {
JOptionPane.showMessageDialog(this, "Nezadal si hodnotu..");
return;
}
try {
strana = Double.parseDouble(Strana);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Musíš zadat číslo!");
return;
}
try {
strana2 = Double.parseDouble(Strana2);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Musíš zadat číslo!");
return;
}
try {
uhel = Double.parseDouble(Uhel);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Musíš zadat číslo!");
return;
}
if ((uhel > 0) && (uhel < 180)) {
JOptionPane.showMessageDialog(this, "Úhel musí být v rozmezí od 0 do 180");
return;
}
double soucet = strana*strana+strana2*strana2-2*strana*strana2*Math.cos(uhel);
String txt = vypocet.getText();
txt += String.format("%.2f\n", soucet);
vypocet.setText(String.format("%.2f", soucet));
}
#5 MilanL
Takhle mi to funguje, ale nejsem si jistej, jestli to nejde udělat líp, šlo by to vypsat do lepší tabulky?
Calendar cal = Calendar.getInstance();
Date cas = cal.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("dd. MM. yyyy");
String s = formatter.format(cas);
System.out.println(s);
Random r = new Random();
double[][] pole = new double[10][15];
for (int i = 0; i < pole.length; i++) {
for (int j = 0; j < pole[0].length; j++) {
pole[i][j] = r.nextDouble()*r.nextInt(1000);
}
}
for (int i = 0; i < pole.length; i++) {
for (int j = 0; j < pole[0].length; j++) {
System.out.printf("%9.4f", pole[i][j]);
}
System.out.println();
}
}
}
// vypište pole jako tabulku ZAROVNANÝCH hodnot, která počítá s tím,
// že celá část je na 3 místa a desetinná na 2 místa - příklad:
// 14,80 73,69 352,50 93,96 326,01 23,12 533,18 186,33 529,40 157,20 101,78 122,21 344,25 477,86 7,19
// 614,59 21,32 198,20 115,18 177,16 173,62 37,44 92,56 414,81 279,23 38,97 93,64 492,17 288,91 10,04
// 152,80 205,43 96,00 186,93 313,33 256,51 86,10 262,67 465,48 564,89 573,41 276,11 438,18 471,15 133,31
// 887,89 610,45 407,36 4,09 277,62 37,13 221,87 423,60 279,25 185,94 665,89 71,36 134,58 519,95 154,64
// 329,93 675,19 569,68 586,78 369,19 156,89 409,73 1,36 285,44 598,33 112,84 50,90 63,45 389,28 116,78
// 535,26 20,59 800,67 730,61 43,94 337,93 362,93 60,28 265,26 830,14 350,18 45,55 366,63 72,21 458,88
// 184,71 251,07 15,19 14,95 144,53 590,33 105,02 725,86 157,77 7,65 204,07 356,57 670,04 499,87 241,62
// 869,84 6,98 139,32 52,87 17,67 146,66 91,28 184,65 125,61 10,77 79,08 57,33 337,45 491,35 206,72
// 22,70 186,90 498,74 303,70 14,90 21,39 468,60 44,85 208,02 12,10 497,32 17,89 230,25 34,46 152,84
// 13,57 19,18 91,42 94,43 746,15 269,39 125,80 186,20 162,80 198,52 447,18 557,67 125,77 680,53 546,51
#2 MilanL
Já sem program zkusil naprogramovat, ale nefunguje mi to
Domácí ukol dokončete tento program, abyste splnili zadání v komentářích. Poradil by mi někdo prosim jak to mám udělat?
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println(cal.getTime());
// vypište aktuální datum ve formátu den. měsíc. rok
// vypište aktuální datrum a čas ve formátu RRRR-MM-DD-T-HH-mm-ss
Random r = new Random();
double[][] pole = new double[10][15];
for (int i = 0; i < pole.length; i++) {
for (int j = 0; j < pole[0].length; j++) {
pole[i][j] = r.nextDouble()*r.nextInt(1000);
}
}
// vypište pole jako tabulku ZAROVNANÝCH hodnot, která počítá s tím,
// že celá část je na 3 místa a desetinná na 2 místa - příklad:
// 14,80 73,69 352,50 93,96 326,01 23,12 533,18 186,33 529,40 157,20 101,78 122,21 344,25 477,86 7,19
// 614,59 21,32 198,20 115,18 177,16 173,62 37,44 92,56 414,81 279,23 38,97 93,64 492,17 288,91 10,04
// 152,80 205,43 96,00 186,93 313,33 256,51 86,10 262,67 465,48 564,89 573,41 276,11 438,18 471,15 133,31
// 887,89 610,45 407,36 4,09 277,62 37,13 221,87 423,60 279,25 185,94 665,89 71,36 134,58 519,95 154,64
// 329,93 675,19 569,68 586,78 369,19 156,89 409,73 1,36 285,44 598,33 112,84 50,90 63,45 389,28 116,78
// 535,26 20,59 800,67 730,61 43,94 337,93 362,93 60,28 265,26 830,14 350,18 45,55 366,63 72,21 458,88
// 184,71 251,07 15,19 14,95 144,53 590,33 105,02 725,86 157,77 7,65 204,07 356,57 670,04 499,87 241,62
// 869,84 6,98 139,32 52,87 17,67 146,66 91,28 184,65 125,61 10,77 79,08 57,33 337,45 491,35 206,72
// 22,70 186,90 498,74 303,70 14,90 21,39 468,60 44,85 208,02 12,10 497,32 17,89 230,25 34,46 152,84
// 13,57 19,18 91,42 94,43 746,15 269,39 125,80 186,20 162,80 198,52 447,18 557,67 125,77 680,53 546,51
}
Nevíte někdo, jak vytvořit nejlépe plakátový efekt ?