Diskuze: Neviem čo s tým
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus trošku víc popsat o co jde, možná ukázka kódu a lepší popis problému, použitý software, takhle ti tu nikdo moc neporadí
public class Calculator extends AppCompatActivity {
private float mCislo1;
private char mOperacia;
private TextView mTV;
public static void main(String[]args) {
int choice;
int x = 0;
int y = 0;
int sum;
PrintStream out;
Scanner input;
Calculator calc = new Calculator();
try {
do {
System.out.println("Calculator Program");
System.out.println("--------------\n");
System.out.println("1. Add");
System.out.println("2. Subtract");
System.out.println("3. Multiply");
System.out.println("4. Divide");
System.out.println("5. Mod");
System.out.println("6. Power");
System.out.println("99. End Program\n");
System.out.println("Enter Choice");
input = new Scanner(System.in);
choice = input.nextInt();
while ((choice < 1 || choice>6) && choice != 99) {
System.out.println("Please enter 1,2,3,4,5,or6:");
choice = input.nextInt();
}
if (choice != 99) {
System.out.println("Please enter 2 numbers only:");
x = input.nextInt();
y = input.nextInt();
}
switch (choice) {
case 1:
sum = calc.add(x, y);
System.out.printf("The sum is %s\n\n", sum);
System.out.println(x + "+" + y + "=" + sum);
break;
case 2:
sum = calc.sub(x, y);
System.out.printf("The answer is%d\n\n", sum);
System.out.println(x + "-" + y + "=" + sum);
break;
case 3:
sum = calc.multi(x, y);
System.out.printf("The answer is%d\n\n", sum);
System.out.println(x + "*" + y + "="+ sum);
break;
case 4:
try {
sum = calc.div(x, y);
System.out.printf("The answer is %d\n\n", sum);
System.out.println(x + "/" + y + "=" + sum);
} catch (Exception e) {
System.out.println("\nError: Cannot Divide by zero\n\n");
}
break;
case 5:
sum = calc.mod(x, y);
System.out.printf("The mod is %d\n\n", sum);
System.out.println(x + "%" + y + "=" + sum);
break;
case 6:
sum = calc.pow(x, y);
System.out.printf("The answer is %d\n\n", sum);
System.out.println(x + "^" + y + "=" + sum);
break;
}
}
while (choice != 99);
input.close();
System.out.println("Ending program...");
} catch (Exception e) {
System.out.println("ERROR:Some error occured");
e.printStackTrace();
}
}
public int add(int num1, int num2) {
int sum;
sum=num1+num2;
return sum;
}
public int sub(int num1,int num2) {
int sum;
sum= num1-num2;
return sum;
}
public int multi(int num1,int num2) {
int sum;
sum= num1*num2;
return sum;
}
public int div(int num1,int num2) {
int sum;
sum= num1/num2;
return sum;
}
public int mod(int num1,int num2) {
int sum;
sum=num1% num2;
return sum;
}
public int pow (int base, int exp) {
int sum = 1;
if (exp == 0) {
sum=1;
}
while (exp> 0){
sum=sum*base;
exp--; }
return sum;
}
public class Vstup2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
final EditText mET =(EditText) findViewById(R.id.editText);
final TextView mTV =(TextView) findViewById(R.id.text);
Button mBT1=(Button) findViewById(R.id.button);
Button mBT2=(Button) findViewById(R.id.button2);
Button mBT3=(Button) findViewById(R.id.button3);
Button mBT4=(Button) findViewById(R.id.button4);
Button mBT5=(Button) findViewById(R.id.button5);
Button mBT6=(Button) findViewById(R.id.button6);
Button mBT7=(Button) findViewById(R.id.button7);
Button mBT8=(Button) findViewById(R.id.button8);
Button mBT9=(Button) findViewById(R.id.button9);
Button mBT10=(Button) findViewById(R.id.button10);
Button mBT11=(Button) findViewById(R.id.button11);
Button mBT12=(Button) findViewById(R.id.button12);
Button mBT13=(Button) findViewById(R.id.button13);
Button mBT14=(Button) findViewById(R.id.button14);
Button mBT15=(Button) findViewById(R.id.button15);
Button mBT16=(Button) findViewById(R.id.button16);
Button mBT17=(Button) findViewById(R.id.button17);
Button mBT18=(Button) findViewById(R.id.button18);
mBT13.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('0');
}
});
mBT9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('1');
}
});
mBT10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('2');
}
});
mBT11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('3');
}
});
mBT5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('4');
}
});
mBT6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('5');
}
});
mBT7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('6');
}
});
mBT1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('7');
}
});
mBT2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('8');
}
});
mBT3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pridajZnak('9');
}
});
mBT12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCislo1 = Float.valueOf(mTV.getText().toString());
mOperacia = '*';
mTV.setText("0");
}
});
mBT16.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCislo1 = Float.valueOf(mTV.getText().toString());
mOperacia = '/';
mTV.setText("0");
}
});
mBT8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCislo1 = Float.valueOf(mTV.getText().toString());
mOperacia = '-';
mTV.setText("0");
}
});
mBT4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCislo1 = Float.valueOf(mTV.getText().toString());
mOperacia = '+';
mTV.setText("0");
}
});
mBT17.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTV.setText("0");
}
});
mBT14.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = mTV.getText().toString();
if (!text.contains(".")) {
text = text + '.';
}
mTV.setText(text);
}
});
mBT18.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = mTV.getText().toString();
if (!text.equals("0")) {
if (text.startsWith("-")) {
text = text.replace("-","");
}
else {
text = "-" + text;
}
}
mTV.setText(text);
}
});
mBT15.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
float cislo2 = Float.valueOf(mTV.getText().toString());
float vysledok = 0;
if (mOperacia == '*') {
vysledok = mCislo1 * cislo2;
} else if (mOperacia == '/') {
vysledok = mCislo1 / cislo2;
} else if (mOperacia == '-') {
vysledok = mCislo1 - cislo2;
} else if (mOperacia == '+') {
vysledok = mCislo1 + cislo2;
}
mTV.setText("" + vysledok);
}
});
}
public void pridajZnak(char c) {
String text = mTV.getText().toString();
if (text.equals("0")) {
text = "" + c;
} else {
text = text + c;
}
mTV.setText(text);
}}}
dal som run project(Android Studio) a na mobile sa mi len ukázala obrazovka bez tlačidiel proste len nadpis a nič viac
Ahoj, těžko poradit, když to nic nedělá, ani chybu. Budeš muset
zkoušet postupně.
Úplně znova od začátku, nový projekt atd.
Asi bych začal bych tím nejjednodušším co jde. Např. Hello world. Určitě
v Android Studiu budou nějaké příklady. A až ti půjde World, můžeš
postupně přidávat a zkoušet, kdy to chodit přestane a pak už ti bude
možné poradit lépe.
Nic lepšího ti v této situaci neporadím.
Nefunguje ti to, protože jsi stvořil jakýsi zvláštní mix androidí, a konzolové aplikace:) Když tohle spustíš tak to čeká na vstup v konzoli a tamtéž to vypisuje výstup.
Nevieš mi poradiť ako to mám spraviť aby to fungovalo
PS má to byť kalkulačka
Jistě - tohle smaž, projdi si místní tutoriály o programování pro Android a pak to napiš správně.
nevieš čo z toho mám vyhodiť
http://www.itnetwork.cz/java/android
Tam se postupně dostaneš až na kalkulačku. Tohle nemůže fungovat, protože
na Androidu se moc dobře do příkazové řádky nedostaneš a okenní aplikace
funguje v principu jinak, než aplikace v konzoli.
Zobrazeno 11 zpráv z 11.