Diskuze: úkol
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.


Michal Haňáček:15.10.2014 18:01
Ahoj, klidně pomůžu. S čím konkrétně máš problém?
Nedělám v Javě, ale můžu ti pomoct s teorií:
1. to je primitivní: podmíka která zkontroluje, jestli je součet každých 2 stran větší než ta 3. něco ve stylu
if((a+b)>c&&(a+c)>b&&(b+c)>a)
zjištění pravoúhlosti: 3× zkontoluješ, jestli odmocnina součtu
druhých mocnin dvou stran == té 3.
rovnostranný: a==b==c
rovnoramenný: if
navíc to můžeš postupně vylučovat
2. na vráceném doublu zavoláš metodu ToString() a ten string si
uložíš.
string si pomocí něčeho jako split rozsekneš podle desetinné tečky a do
dalšího (nebo stejného stringu) uložíš hodnotu na indexu 1 (část za
tečkou) a zkontroluješ, jestli obsahuje něco jiného než 0
Ondřej Štorc:15.10.2014 19:47
- Jestli jde zkonstruovat zjistíš pomocí Pythagorovy věty a jestli je rovnostranný, pravoúhlý či rovnoramenný jistíš pomocí podmínek
- Třeba pomocí tohoto: http://stackoverflow.com/…eger-in-java
- Já bych to udělal pomocí cyklu kdy porovnáš dvě hodnoty které jdou za sebou
- To číslo bych si rozdděli na 3 části a pak bych každou tu část pomocí switche vypasal slovně
- S 5 ti neporadím jelikož ani nevim co to je..
mir.pazler:16.10.2014 15:26
Ahoj no já vim jak na to jít logicky ale nevim jak to zapsat do netbeansu.
mir.pazler:16.10.2014 15:27
a cykly jsme ještě nedělali jen if a switch takže cykly netušim :/
Hit:22.10.2014 15:54
Čus, snad už není pozdě, ale podíval jsem se na ten úkol a něco jsem
stvořil, snažil jsem se to udělat s co nejjednodušíma prostředkama
(nepoužival jsem pole ani cykly atd.) snad ti to k něčemu bude, kdyžtak
řekni jeslti ti to pomohlo
Hlavní třída
public class Ukol {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//Ukol 1
//První 3 čísla - strany, zbytek jsou úhly
Triangle t = new Triangle(10, 15, 20, 30, 60, 50);
if (t.isConstractible()){
System.out.println("Trojúhelník je zkonstruovatelný.");
}else{
System.out.println("Trojúhelník není zkonstruovatelný.");
}
System.out.println("Trojúhelník je " + t.checkConstruction());
//Úkol 2
int number = 200;
double odmocnina = Math.sqrt(number);
if (odmocnina != (int)odmocnina){
System.out.println("Číslo " + number + " je desetinné");
}else{
System.out.println("Číslo " + number + " je celé");
}
//Úkol 3
Sequence s = new Sequence(3, 6, 12, 24);
System.out.println("Posloupnost je " + s.checkSequence());
//Úkol 4
int num = 125;
Number n = new Number(num);
System.out.println(num + " - " + n.translate());
//Úkol 5
Matrix m = new Matrix(2, 4, 6, 10);
System.out.println("Determinant: " + m.getResult());
}
Trojúhelník
public class Triangle {
private final int a;
private final int b;
private final int c;
private final int alpha;
private final int beta;
private final int gama;
private boolean isConstractible;
private String construction;
public Triangle(int a, int b, int c, int alpha, int beta, int gama){
this.a = a;
this.b = b;
this.c = c;
this.alpha = alpha;
this.beta = beta;
this.gama = gama;
}
public boolean isConstractible(){
if (a + b > c && a + c > b && b + c > a){
isConstractible = true;
}
return isConstractible;
}
public String checkConstruction(){
if (isConstractible){
if (a == b && a == c && b == c){
construction = "rovnostranný";
}
else if (a == b && a != c && b != c){
construction = "rovnoramenný";
}
else if (alpha == 90 || beta == 90 || gama == 90){
construction = "pravoúhlý";
}
else if (a != b && a != c && b != c){
construction = "obecný";
}
}
return construction;
}
}
Posloupnost:
public class Sequence {
private final int a;
private final int b;
private final int c;
private final int d;
private String typeOfSequence;
public Sequence (int a, int b, int c, int d){
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
public String checkSequence(){
int difference = b - a;
float difference2 = b / a;
if (difference == c - b && difference == d - c){
typeOfSequence = "aritmetická";
}else if(difference2 == (float)(c / b) && difference2 == (float)(d / c)){
typeOfSequence = "geometrická";
}
return typeOfSequence;
}
}
Číslo pro překlad:
public class Number {
private final int number;
private boolean finish = false;
private String output = "";
private char first;
private char second;
private char third;
public Number(int n){
this.number = n;
}
public String translate(){
String value = Integer.toString(number);
if (value.length() < 3){
return "Zadané číslo není trojciferné";
}
first = value.charAt(0);
second = value.charAt(1);
third = value.charAt(2);
translateFirst();
translateSecond();
if (finish){
return output;
}
translateThird();
return output;
}
private void translateFirst(){
switch (first){
case '1':
output += "Sto ";
break;
case '2':
output += "Dvě stě ";
break;
case '3':
output += "Tři sta ";
break;
case '4':
output += "Čtyři sta ";
break;
case '5':
output += "Pět set ";
break;
case '6':
output += "Šest set ";
break;
case '7':
output += "Sedm set ";
break;
case '8':
output += "Osm set";
break;
case '9':
output += "Devět set";
break;
}
}
private void translateSecond(){
switch (second){
case '1':
finish = true;
switch (third){
case '1':
output += "jedenáct";
break;
case '2':
output += "dvanáct";
break;
case '3':
output += "třináct";
break;
case '4':
output += "čtrnáct";
break;
case '5':
output += "patnáct";
break;
case '6':
output += "šestnáct";
break;
case '7':
output += "sedmnáct";
break;
case '8':
output += "osmnáct";
break;
case '9':
output += "devatenáct";
break;
}
break;
case '2':
output += "dvacet ";
break;
case '3':
output += "třicet ";
break;
case '4':
output += "čtyřicet ";
break;
case '5':
output += "padesát ";
break;
case '6':
output += "šedesát ";
break;
case '7':
output += "sedmdesát ";
break;
case '8':
output += "osmdesát ";
break;
case '9':
output += "devadesát";
break;
}
}
private void translateThird(){
switch (third){
case '1':
output += "jedna";
break;
case '2':
output += "dva";
break;
case '3':
output += "tři";
break;
case '4':
output += "čtyři";
break;
case '5':
output += "pět";
break;
case '6':
output += "šest";
break;
case '7':
output += "sedm";
break;
case '8':
output += "osm";
break;
case '9':
output += "devět";
break;
}
}
}
Matice:
public class Matrix {
private final int a;
private final int b;
private final int c;
private final int d;
private final double determinant;
private double result;
public Matrix(int a, int b, int c, int d){
this.a = a;
this.b = b;
this.c = c;
this.d = d;
determinant = (a * d) - (b * c);
result = determinant * 100;
result = Math.round(result);
result = result / 100;
}
public double getResult(){
return result;
}
}
Zobrazeno 7 zpráv z 7.