Strona 1 z 2
Pierwszy program
Napisane: sobota, 26 sierpnia 2017, 20:48
przez mario13021
Witam!
Jestem tu nowy i kompletnie zielony jeśli chodzi o programowanie

Postanowiłem jednak spróbować tego, bo strasznie mnie to ciekawiło. Wykupiłem kurs Javy i po 17 lekcjach zrobić sobie jakieś zadanie. A więc tak:
Miało być to coś na zasadzie ustalania hasła:
1. program ma sprawdzić czy oba pola są wypełnione
2. program ma sprawdzić czy wyrazy są identyczne
Oto mój kod:
Code: Zaznacz cały
package xxx;
/**
*
* @author mariuszmilewski
*/
public class Xxx {
public static void main(String[] args) {
String a = "abc"; // password
String b = "abc"; // confirm password
String c = (a == "") || (b == "") ? "puste pole!!" : ""; // checking if not empty
System.out.println(c);
String d = a != b ? "niepoprawne" : "poprawne"; // checking if the same
System.out.println(d);
}
}
Ogólnie program działa poprawnie tyle, że jeśli pola są uzupełnione to założenie było takie aby program nic nie wyświetlał. No i w sumie tak jest tylko, że jak odpalę program to na konsoli wygląda to tak jakby była tam po prostu pusta linijka. Da się to jakoś zrobić tak żeby program nie wyświetlał kompletnie nic?
Re: Pierwszy program
Napisane: niedziela, 27 sierpnia 2017, 11:35
przez Morfidon
Cześć
Witaj w świecie programowania!
Twój program działa tak, ponieważ wartość zmiennej 'c' zawsze jakaś jest, nawet jeśli jest pusta to jednak 'pustość' to też jakaś wartość.
Przesyłasz tą zmienną na 'wyjście' (konsole) korzystając z System.out.print
ln. Pogrubiłem 'ln' bo ln to skrót z ang. od 'line'. Ta komenda ma na zadanie wypisać na konsoli zawartość (w Twoim wypadku pustkę), a później dodać ln, czyli nową linię.
Jeśli skorzystasz z
to program zadziała tak jak myślisz.
Jednak wtedy nie doda linii, nawet jeśli wypiszesz jakiś tekst.
Aby rozwiązać tę sytuację najlepiej skorzystać z instrukcji warunkowych. Stwórz warunek w instrukcji warunkowej: "Jeśli zmienna c jest pusta to po prostu nie wyświetlaj komunikatu"
Pozdrawiam serdecznie,
Arkadiusz W.
Re: Pierwszy program
Napisane: niedziela, 27 sierpnia 2017, 17:05
przez mario13021
Dzięki za podpowiedź

wszystko działa tak jak chciałem
Code: Zaznacz cały
package xxx;
/**
*
* @author mariuszmilewski
*/
public class Xxx {
public static void main(String[] args) {
String a = "abc"; // password
String b = "abc"; // confirm password
String c = (a == "") || (b == "") ? "puste pole!!" : ""; // checking if not empty
if (c == "puste pole!!")
System.out.println(c);
String d = a != b ? "niepoprawne" : "poprawne"; // checking if the same
if (c != "puste pole!!")
System.out.println(d);
}
}
Re: Pierwszy program
Napisane: niedziela, 27 sierpnia 2017, 20:46
przez Morfidon
No i gitara

Re: Pierwszy program
Napisane: niedziela, 27 sierpnia 2017, 21:26
przez mario13021
Mam jeszcze pytanko o ćwiczenie związane z tym aby kolejna liczba w tabeli była zwiększona o 10. Czy takie rozwiązanie jest optymalne?
Code: Zaznacz cały
package wielokrotnosc10;
/**
*
* @author mariuszmilewski
*/
public class Wielokrotnosc10 {
public static void main(String[] args) {
int i = 0;
int[] tab;
tab = new int[10];
while (i < tab.length)
{
if (i == 0)
{
tab[i] = tab[i] + 10;
}
else
{
tab[i] = tab[i - 1] + 10;
}
System.out.println(tab[i]);
i++;
}
}
}
Re: Pierwszy program
Napisane: niedziela, 27 sierpnia 2017, 22:38
przez Morfidon
Na razie bez rozwiązania....
Tylko podpowiedź:
i * 10
Pozdrawiam

Re: Pierwszy program
Napisane: niedziela, 27 sierpnia 2017, 22:53
przez mario13021
sorry, masz rację... mój błąd... coś w ten desen?
Code: Zaznacz cały
package wielokrotnosc10;
/**
*
* @author mariuszmilewski
*/
public class Wielokrotnosc10 {
public static void main(String[] args) {
int i = 0;
long[] tab;
tab = new long[10];
while (i < tab.length)
{
if (i == 0)
{
tab[i] = tab[i] + 10;
}
else
{
tab[i] = tab[i - 1] * 10;
}
System.out.println(tab[i]);
i++;
}
}
}
Re: Pierwszy program
Napisane: niedziela, 27 sierpnia 2017, 23:13
przez Morfidon
Nie do końca...
Zauważ, że 'i' rośnie o 1 za każdym razem. Skoro rośnie o 1 to mnożąc 'i' przez 10 zawsze masz liczbę o 10 większą, którą możesz przypisać

Re: Pierwszy program
Napisane: poniedziałek, 28 sierpnia 2017, 06:27
przez mario13021
no tak... chyba trochę pokręciłem te zadanie

więc chodzi o to aby tab[0] = 0, a potem każde kolejne było większe o 10?
Re: Pierwszy program
Napisane: poniedziałek, 28 sierpnia 2017, 09:45
przez Morfidon
Tak
