עבור לתוכן

זקוק לעזרה קטנה במתודות ב-C שארפ

Featured Replies

פורסם

יש לי תרגיל שבו אני אמור להכניס מספר ולקבל אותו בהקסה.

אני אמור לכתוב מתודה שעושה את זה ובגלל שזה קצת מבלבל אותי פתרתי את התרגיל בתור התחלה ללא מתודה ושאני רוצה להעביר את התרגיל למתודה נהיה לי בלגאן.

אני רואה מה הבעיה שלי, hexNumber מקבל את הערך הנכון (למשל אם אני מכניס את המספר 125 הוא מקבל 7D)ה אבל כשאני רושם

return hexNumber;

אני מקבל את השגיאה Cannot implicitly convert type 'string' to 'int' ואין לי מושג מה לעשות

הפיתרון לתרגיל ללא מתודה מצורף בקובץ טקסט וזה עם המתודה בהמשך, הבעיה שלי היא ההבנה איך אני מעביר דברים למתודה זה מבלבל אותי:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace NumberToHex
{
class Program
{


//number to hexa numbers method
static int Hex(int mishpar)
{
int num = 0;
int count = 0;
string hexNumber = "";
string[] HexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" };


while (mishpar != 0)
{
int iHexDigit = mishpar % 16;
string stHexDigit = HexDigits[iHexDigit];
hexNumber = stHexDigit + hexNumber;
mishpar /= 16;
count++;
}


return hexNumber;
}


static void Main(string[] args)
{


int[] Hexadecimal = new int[32];


Console.WriteLine("Enter Number: ");
int number = int.Parse(Console.ReadLine());


int result = Hex(number);


Console.WriteLine(result);


Console.ReadLine();


}
}
}

[attachment deleted by admin]

פורסם

הפונקציה שלך מוגדרת להחזיר int, למרות שאתה מחזיר String. תקן אותה ככה שהיא תחזיר String (ואז תשתמש בה באופן נכון).

פורסם
  • מחבר

אם אני מגדיר אותה שתחזיר string בשורה int result = Hex(number); אני מקבל שגיאה:

No overload for method 'Hex' takes 1 arguments

פורסם

הפונקציה שלך מוגדרת להחזיר int, למרות שאתה מחזיר String. תקן אותה ככה שהיא תחזיר String (ואז תשתמש בה באופן נכון).

פורסם
  • מחבר

תיקנתי אותה והיא מחזירה עכשיו string אבל עדיין משהו שם לא עובד והכי חשוב לא מובן לי (רק התחלתי ללמוד על המתודות וזה עדיין מבלבל אותי קצת)



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace NumberToHex
{
class Program
{


//number to hexa numbers method
static string Hex(int mishpar)
{
int count = 0;
string hexNumber = "";
string[] HexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" };


while (mishpar != 0)
{
int iHexDigit = mishpar % 16;
string stHexDigit = HexDigits[iHexDigit];
hexNumber = stHexDigit + hexNumber;
mishpar /= 16;
count++;
}


return hexNumber;
}


static void Main(string[] args)
{


int[] Hexadecimal = new int[32];


Console.WriteLine("Enter Number: ");
int number = int.Parse(Console.ReadLine());


int result = Hex(number);


Console.WriteLine(result);


Console.ReadLine();


}
}
}

פורסם

אם הפונקציה שלך מחזירה String, אז אתה צריך לשים את התוצאה בתוך משתנה מסוג String, לא int.

פורסם
  • מחבר

הפונקציה שלי מחזירה את hexNumber, איך אני יכול להפוך את hexNumber ל-string ?

פורסם
  • מחבר

הוא string

פורסם
  • מחבר

אפשר בבקשה להראות לי מה אמור להיות כתוב עלמנת שזה יעבוד ?

פורסם

הפונקציה Hex בסדר גמור.

הבעיה היא איך שאתה משתמש בה.

אתה עושה

int result = Hex(number);

Hex מחזירה String. אתה צריך לשים את התוצאה שלה במשתנה מטיפוס String, לא int.

פורסם
  • מחבר

:kopfpatsch:

:xyxthumbs:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים