using System;
public class Studentstring name;
int age;
public string inputName()
{
Console.WriteLine("Enter name :")。
string name= Console.Readline()。
return name;
}
public void showName(span class="hljs-built_in">string name){
Console.WriteLine(name)。
}
static void Main(string[] args)?
{
學生myObj = new Student();
string name=myObj.inputName();
myObj.showName(name)。
}
無法理解上述代碼中的錯誤之處。我想通過C#類中的方法將學生的姓名和年齡作為輸入,然后用另一個方法列印。我在想,我將在main()中創建一個物件,然后從main中呼叫getters和setters函式。 最初,我猜測是Console.Readline()導致了這個問題,因此試圖尋找我是否忘記了為Readline()匯入的任何庫,但無法成功獲得這個原因背后的原因。 我對c#完全陌生,請幫助。 注意:我的上述C#代碼使用的是一個在線編譯器,所以如果這個錯誤是特定的,也請讓我知道。
uj5u.com熱心網友回復:
主方法不能在學生類中
public static void Main(string[] args)。
{
}
public class Student
{
}
下列錯誤:
Student myObj = new Student(); //是正確的,創建了一個實體。
string name=myObj.inputName(); //語意錯誤。
myObj.showName(name)。
這里你宣告了一個新的字串,并將其分配給輸入名稱函式。
所以下面的內容
public string inputName()
{
Console.WriteLine("Enter name :")。
string name = Console.Readline();
return name;
}
需要的是
public void inputName()
{
Console.WriteLine("Enter name :")。
string name = Console.ReadLine();
this.name = name;
}
回傳型別從字串改為void,因為它不需要回傳一個值。this.name = name將輸入分配給物件上的name欄位。
該函式
public void showName(string name)
{
Console.WriteLine(name)。
}
這也是一個語意錯誤。沒有功能上的錯誤,但你不需要一個引數。(string name)是函式的輸入,如果你想顯示物件的當前名稱,這就是你使用一個沒有任何引數的回傳型別。
public string showName()
{
return name。
}
因此,最后的修訂將是
public class Program
{
public static void Main(string[] args)
{
學生 myObj = new Student();
myObj.inputName()。
Console.WriteLine(myObj.showName())。
}
public class Student Studentstring name;
int age;
public void inputName()
{
Console.WriteLine("Enter name :")。
string name = Console.ReadLine();
this.name = name;
}
public string showName()
{
return name。
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/310498.html
標籤:
