אני אשמח אם תוכלו לעזור לי לקראת המבחן ...
השאלה היא :
כתוב תוכנית אשר מקבלת מהמשתמש 2 ספרות במילים , אשר מדפיסה את המספר הגדול מהשניים במילים . כלומר אם הזנתי one ו-tow אז התוכנית אומרת ש-tow גדול מ-one
האם חייבים להשתמש ב-switch? ישנה עוד דרך?
אני אודה לכם מאוד אם תוכלו לכתוב לי את הפיתרון המתאים לשאלה זאת.
תודה רבה רבה :-)
ניתן לעשות זאת גם ללא פקודת switch. לדוגמה, ניתן להשתמש במערך על מנת להמיר את המחרוזת למספר-שלם. הנה הפונקציה getNumber המקבלת מחרוזת ומחזירה את המספר הכתוב בה.
public static int getNumber(String str)
{
String[] numbers = new String[] {"zero","one","two","three","four","five","six","seven","eight","nine","ten"};
for (int i = 0; i < numbers.length; i++)
{
if (str.equals(numbers[i]))
{
return i;
}
}
return -1;
}
ניתן להשתמש בה כך על מנת לפתור את התרגיל: (ויתרתי על הקוד שקולט את המספרים מהמשתמש, יש להוסיף אותו)
public static void main(String[] args)
{
//get two numbers from the user.
//I will leave this task for you. I hardcoded the numbers here
String firstNumber = "two";
String secondNumber = "eight";
//convert strings to numbers
int num1 = getNumber(firstNumber);
int num2 = getNumber(secondNumber);
if (num1 < 0 || num2 < 0)
{
// user did not enter a number from one to ten, exit
System.out.println("invalid number(s)");
return;
}
//check who is bigger
if (num1 > num2)
{
System.out.println(firstNumber);
}
else if (num2 > num1)
{
System.out.println(secondNumber);
}
else
{
System.out.println("Numbers are equal!");
}
}
זהו אתר שאלות ותשובות למתכנתים. כל אחד יכול לשאול שאלה , כל אחד יכול לענות על שאלה, כל אחד יכול להגיב לתשובות.