|
Forum grupy 6 Forum grupy 6 WiGE na AE w Poznaniu
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
hej_kolejorz
Dołączył: 08 Paź 2007
Posty: 3
Przeczytał: 0 tematów
Pomógł: 1 raz Ostrzeżeń: 0/5 Skąd: Bułgarska 5/7
|
Wysłany: Pon 18:02, 03 Mar 2008 Temat postu: Javowe zadanie domowe :D |
|
|
Haloo... Moje rozwiązanie na specjalne życzenie Mikołaja J. (tego łysego :P )
public class Logic {
public static void main(String[] args) {
int firstValue = 0;
int secondValue = 0;
String operator = "";
String proposedResult = "";
int realResult = 0;
// depending on the number of provided arguments use appropriate case block
switch(args.length) {
case 4 :
operator = args[0];
firstValue= fromBinaryString(args[1]);
proposedResult = args[3];
break;
case 5 :
firstValue = fromBinaryString(args[0]);
operator = args[1];
secondValue = fromBinaryString(args[2]);
proposedResult = args[4];
break;
default :
System.err.println("Wrong argument count - only four or five arguments allowed!");
System.err.println("\tExamples:");
System.err.println("\t\t0101 AND 1111 = 0000");
System.err.println("\t\tNOT 1111 = 0000");
System.err.println("\t\t0101 OR 1111 = 0000");
System.err.println("\t\t0101 XOR 1111 = 0000");
System.exit(0);
}
// count the real value
if (operator.equals("AND")) {
realResult = firstValue & secondValue;
} else if (operator.equals("NOT")) {
realResult = ~firstValue;
} else if (operator.equals("OR")) {
realResult = firstValue | secondValue;
} else if (operator.equals("XOR")) {
realResult = firstValue ^ secondValue;
} else {
System.err.println("ERROR! Unknown operator: "+operator);
System.exit(0);
}
// display the results
if (proposedResult.equals(toBinaryString(realResult))) {
System.out.println("CONGRATULATIONS! "+args[0]+" "+args[1]+" "+args[2]+" is "+toBinaryString(realResult));
} else {
System.out.println("BAD ANSWER! "+args[0]+" "+args[1]+" "+args[2]+" is "+toBinaryString(realResult)+" not "+proposedResult);
}
}
static int fromBinaryString(String s) {
int result = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == '0') result = 2 * result;
else if (c == '1') result = 2 * result + 1;
}
return result;
}
static String toBinaryString(int n) {
String s = "";
for (int sh = 31; sh >= 0; sh--) {
s += ((n >> sh) & 1);
}
s = s.substring(28);
return s;
}
}
Dla leniwych :) Plik .java do ściągnięcia: [link widoczny dla zalogowanych]
Post został pochwalony 1 raz
Ostatnio zmieniony przez hej_kolejorz dnia Pon 18:09, 03 Mar 2008, w całości zmieniany 2 razy
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Mikołaj
Dołączył: 04 Paź 2007
Posty: 16
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: z Nienacka
|
Wysłany: Pon 23:00, 03 Mar 2008 Temat postu: |
|
|
dobrze że napisałeś którego bo tylu ich mamy
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
wacek88
Dołączył: 17 Paź 2007
Posty: 12
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 23:18, 04 Mar 2008 Temat postu: |
|
|
o tak, to fakt
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
fooksiara
Dołączył: 23 Lis 2007
Posty: 10
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5
|
Wysłany: Śro 21:08, 05 Mar 2008 Temat postu: |
|
|
a tam nie powinno byc czasem oprocz OR i XOR jeszcze +, -, *i / ? W sumie w poleceniu bylo....
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
jasioo
Dołączył: 04 Paź 2007
Posty: 27
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5 Skąd: z Buku
|
Wysłany: Śro 22:00, 05 Mar 2008 Temat postu: |
|
|
w poleceniu bylo ale w zadaniu dom nie bylo . niby.
ale jak ktos chce być "nadgorliwy" (temat [link widoczny dla zalogowanych] )to chyba nie zaszkodzi wrzucic.
ja osobiscie odpuszczam
wychylanie sie czasem sie nie oplaca.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|