m0_47010322
2020-05-08 16:34
采纳率: 100%
浏览 540

C#方法怎么调用数组啊,求助

第三第四怎么写啊,小白一个,谢谢

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

namespace 测试
{
class Program
{
static void Main(string[] args)
{
//在下面两个短线区域范围内,补充代码:
//1)创建一个长度为5类型为学生Student的一维数组
//2)键盘输入5个学生信息
//3)调用Score类中的静态方法GetMax得到成绩最高的学生对象
//4)通过for循环遍历出一维数组中成绩为最高成绩的所有学
生,并调用Score类中的非静态方法ShowStudent显示学生信

//-------------------------------------------------

                    //创建Student一维数组
                    Student[] Stu = new Student[5];

                    Console.WriteLine();
                    Console.WriteLine("欢迎进入成绩录入系统;"+"\n"+ "--------------------------------------");
                    for (int i = 0; i < Stu.Length; i++)
                    {
                        //初始化数组,才能调用字段,接收键盘输入;
                        Stu[i] = new Student();
                        Console.Write("请输入第{0}位学生姓名:", i+1);
                        Stu[i].Name = Console.ReadLine();
                        Console.Write("请输入第{0}位学生学号:", i+1);
                        Stu[i].No = Console.ReadLine();
                        Console.Write("请输入第{0}位学生成绩:", i+1);
                        Stu[i].Score = Convert.ToDouble(Console.ReadLine());   //数据类型不一致,需要强制转换;
                        Console.WriteLine("--------------------------------------");

                    }
                    //-------------------------------------------------
            }
        }

}

//学生类Student定义如下
public class Student
{
    private string no;
    private string name;
    private double score;
    public string No
    {
        get { return no; }
        set { this.no = value; }
    }
    public string Name
    {
        get { return name; }
        set { this.name = value; }
    }
    public double Score
    {
        get { return score; }
        set { this.score = value; }
    }  
}
//求解成绩问题的类Score定义如下:
public class Score
{
    public static Student GetMax(Student[] students)
    {
        //在下面两个短线区域范围内,补充代码:
        //获取students数组中,成绩最高的学生对象
        Student temp = null;//可以选择删除
        //-------------------------------------------------


        //-------------------------------------------------
        return temp;////可以选择删除
    }
    public void ShowStudent(Student student)
    {
        //在下面两个短线区域范围内,补充代码: 
        //输出学生信息,包括学号,姓名,和成绩
        //-------------------------------------------------

        //-------------------------------------------------
    }
}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • blownewbee 2020-05-08 16:40
    已采纳
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Q1069451
    {
        class Program
        {
            static void Main(string[] args)
            {
                //在下面两个短线区域范围内,补充代码:
                //1)创建一个长度为5类型为学生Student的一维数组
                //2)键盘输入5个学生信息
                //3)调用Score类中的静态方法GetMax得到成绩最高的学生对象
                //4)通过for循环遍历出一维数组中成绩为最高成绩的所有学
                //生,并调用Score类中的非静态方法ShowStudent显示学生信
                //息
                //-------------------------------------------------
                //创建Student一维数组
                Student[] Stu = new Student[5];
                Console.WriteLine();
                Console.WriteLine("欢迎进入成绩录入系统;" + "\n" + "--------------------------------------");
                for (int i = 0; i < Stu.Length; i++)
                {
                    //初始化数组,才能调用字段,接收键盘输入;
                    Stu[i] = new Student();
                    Console.Write("请输入第{0}位学生姓名:", i + 1);
                    Stu[i].Name = Console.ReadLine();
                    Console.Write("请输入第{0}位学生学号:", i + 1);
                    Stu[i].No = Console.ReadLine();
                    Console.Write("请输入第{0}位学生成绩:", i + 1);
                    Stu[i].Score = Convert.ToDouble(Console.ReadLine());   //数据类型不一致,需要强制转换;
                    Console.WriteLine("--------------------------------------");
                }
                //-------------------------------------------------
                var result = Score.GetMax(Stu);
                Console.WriteLine(result.Score);
                for (int i = 0; i < Stu.GetLength(0); i++)
                {
                    if (Stu[i].Score == result.Score)
                        new Score().ShowStudent(Stu[i]);
                }
            }
        }
    
        public class Student
        {
            private string no;
            private string name;
            private double score;
            public string No
            {
                get { return no; }
                set { this.no = value; }
            }
            public string Name
            {
                get { return name; }
                set { this.name = value; }
            }
            public double Score
            {
                get { return score; }
                set { this.score = value; }
            }
        }
        //求解成绩问题的类Score定义如下:
        public class Score
        {
            public static Student GetMax(Student[] students)
            {
                //在下面两个短线区域范围内,补充代码:
                //获取students数组中,成绩最高的学生对象
                //-------------------------------------------------
                return students.OrderBy(x => x.Score).Last();
                //-------------------------------------------------
            }
            public void ShowStudent(Student student)
            {
                //在下面两个短线区域范围内,补充代码: 
                //输出学生信息,包括学号,姓名,和成绩
                //-------------------------------------------------
                Console.WriteLine("name={0},id={1},score={2}", student.Name, student.No, student.Score);
                //-------------------------------------------------
            }
        }
    }
    
    
    点赞 1 评论

相关推荐 更多相似问题