1.第一個代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication30
{
class student
{
int no;
string name;
int deg1;
int deg2;
int deg3;
static int sum1 = 0;
static int sum2 = 0;
static int sum3 = 0;
static int sn = 0;
public student(int n, string na, int d1, int d2, int d3)
{ no = n; name = na; deg1 = d1; deg2 = d2; deg3 = d3; sum1 += deg1; sum2 += deg2; sum3 += deg3; sn++; }
public void disp() ①//理解不了沒有void回傳值是什么意思。
{ Console.WriteLine("學號:{0}姓名:{1}語文:{2}數學:{3}英語:{4}P平均分:{5:f}", no,name, deg1, deg2, deg3, (double)(deg1 + deg2 + deg3) / 3); } ②//這里加double是為了顯示轉換嗎??
public static double avg1() { return (double)sum1 / sn; }
public static double avg2() { return (double)sum2 / sn; }
public static double avg3() { return (double)sum3 / sn; }//return是什么意思為什么要加return。
}
class Program
{
static void Main(string[] args)
{
student s1=new student (1,"xyh",67,89,90);
student s2=new student (2,"myh ",34,55,66);
student s3=new student (3,"hcv ",24,43,75);
Console.WriteLine("親愛的用戶輸出結果:");
s1.disp();
s2.disp();
s3.disp();
Console.WriteLine("語文平均分:{0}數學平均分:{1}英語平均分:{2}");
student.avg1();
student.avg2();
student.avg3(); ③//這樣輸出的結果顯示為 語文平均分:{0}數學平均分:{1}英語平均分:{2}
//④那為什么非靜態可以這樣使用,靜態方法只能Console.WriteLine("語文平均分:{0}數學平均分:{1}英語平均分:{2}",student.avg1();student.avg2(); student.avg3(););
}
}
}
⑤//什么時候一行代碼要加";"什么時候不加分不清楚!
第二個代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication31
{
public class tpoint3
{
int x, y;
public int px⑥//屬性px,py和欄位x,y什么區別?
{
get { return x; }
set { x = value; }/⑦/get和set理解不了什么意思?
}
public int py
{
get { return y;}
set { y = value; }
}
}
class Program
{
static void Main(string[] args)
{
tpoint3 p = new tpoint3();⑧//在前面沒有定義函式public tpoint3(){},這里為什么可以呼叫?系統會默認給你寫好?
p.px = 3; p.py = 8;
Console.WriteLine("點=>({0},{1})", p.px, p.py);⑨//這里的“=>”是什么意思,有什么作用呢?
}
}
}
[color=#FF0000⑩]//請問封裝是什么意思?以及什么時候需要對欄位進行封裝,有什么作用?[/color]
問題可能比較多......請各位大佬解決~~請問有沒有這方面的學習交流群呀
uj5u.com熱心網友回復:
求大佬解決里面的一些問題即可~~~uj5u.com熱心網友回復:
你需要看書!不過部分語法是最新的C# 的語法糖 比如
"點=>({0},{1})" 最后的結果是 "點=>(3,8)" 所以=> 就是 => 直接輸出出來 類似“姓名:張三”的冒號 算格式!
uj5u.com熱心網友回復:
① void 表示 沒有回傳值 ,這樣直接return 如果有回傳值 double int string long 好多uj5u.com熱心網友回復:
②//這里加double是為了顯示轉換嗎??是強制計算轉換,因為你定義的型別是int ,這樣有除法,不轉換成double 只會進行int的乘除,例如int 的 5/2 = 2,double 5/2= 2.5uj5u.com熱心網友回復:
語文平均分:{0}數學平均分:{1}英語平均分:{2},中的{Number} 表示,之后 的引數位置,Console.WriteLine("語文平均分:{0}數學平均分:{1}英語平均分:{2}",student.avg1();student.avg2(); student.avg3(););這個是對的轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/26996.html
標籤:網絡編程
上一篇:一個功能強大的網路除錯工具,采用IOCP高并發,支持TCP、TCP服務器、UDP、串口,跑lua腳本語言
下一篇:提問CAN通信的C++實作
