| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1039 人关注过本帖
标题:求路过的大神解惑???不知道为什么排不了序。。。
只看楼主 加入收藏
黄辉
Rank: 4
等 级:业余侠客
帖 子:106
专家分:255
注 册:2013-4-28
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:13 
求路过的大神解惑???不知道为什么排不了序。。。
WindowsFormsApplication5.rar (38.48 KB)

求路过的大神解惑???不知道为什么排不了序。。。
2013-06-17 10:44
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:50 
08还是10做的?

慢慢前进走,不求一步登天,只求慢慢前进
2013-06-17 19:36
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:0 
好吧,08的!

慢慢前进走,不求一步登天,只求慢慢前进
2013-06-17 19:37
黄辉
Rank: 4
等 级:业余侠客
帖 子:106
专家分:255
注 册:2013-4-28
收藏
得分:0 
回复 3楼 QJlin
是08的,08在10,10在08的也能用啊。。。

你不勇敢,谁替你坚强。。。
2013-06-17 19:41
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:0 
你那个泛型的集合都没有把你输入的数据加进去,你排序的时候students这个集合里面都没有数据,当然排不了序,你要再你添加一个学生数据后加个students.add()把数据加进去!

慢慢前进走,不求一步登天,只求慢慢前进
2013-06-17 19:48
黄辉
Rank: 4
等 级:业余侠客
帖 子:106
专家分:255
注 册:2013-4-28
收藏
得分:0 
加过了,不知道为什么老是错误???不会添加了??教教我。。谢谢了。。。

你不勇敢,谁替你坚强。。。
2013-06-17 20:03
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:0 
我刚刚仔细看了你的代码,你这样可以用arraylist数组进行排序,这样简单,你添加的时候把student类作为一个参数添加就得了,不用象那样的,要你要坚持你那样做的也可以,不过list是个列表,你要添加排序也是可以的,还有就是你要按学号排序这个你要自己先排序好再放进去集合里读,集合是有sort排序,但是你那个是个泛型的,你用它也就默认你输入数据的顺序排序,不会达到你要的效果,这就是我的一点看法,希望对你有帮助!

慢慢前进走,不求一步登天,只求慢慢前进
2013-06-17 20:04
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:0 
以下是引用黄辉在2013-6-17 20:03:10的发言:

加过了,不知道为什么老是错误???不会添加了??教教我。。谢谢了。。。

add()方法只能加一个参数进去,就是说如果你要加很多个数据,那么把这些数据封装好坐一个参数传进去就行了!

慢慢前进走,不求一步登天,只求慢慢前进
2013-06-17 20:05
黄辉
Rank: 4
等 级:业余侠客
帖 子:106
专家分:255
注 册:2013-4-28
收藏
得分:0 
for (int j=0; j <2; j++)
            {
                while (true)
                {
                    name = Microsoft.VisualBasic.Interaction.InputBox("请输入名字", "输入名字", "黄辉", -1, -1);
                    if (name == "0")
                    {
                        break;
                    }
                    else
                    {
                        alist.Add(name);
                    }
                }
                foreach (string i in alist)
                {
                    Nam = i;
                }
                while (true)
                {
                    number = Microsoft.VisualBasic.Interaction.InputBox("请输入学号", "输入学号", "1215080131", -1, -1);
                    if (number == "0")
                    {
                        break;
                    }
                    else
                    {
                        alist.Add(number);
                    }
                }
                foreach (string n in alist)
                {
                    Num = n;
                }
                while (true)
                {

                    score1 = Convert.ToInt32(Microsoft.VisualBasic.Interaction.InputBox("请输入成绩", "输入成绩", "90", -1, -1));
                    alist.Add(score1);
                    score2 = Convert.ToInt32(Microsoft.VisualBasic.Interaction.InputBox("请输入成绩", "输入成绩", "90", -1, -1));
                    alist.Add(score2);
                    break;

                }
我用过arraylist了只是表示红色的无法将类型为“System.Int32”的对象强制转换为类型“System.String”。

你不勇敢,谁替你坚强。。。
2013-06-17 20:16
黄辉
Rank: 4
等 级:业余侠客
帖 子:106
专家分:255
注 册:2013-4-28
收藏
得分:0 
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using Microsoft.VisualBasic;
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        ArrayList alist = new ArrayList();
        student stu = new student();
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = "学生信息情况" + "\r\n" + "姓名" + "\t\t" + "学号" + "\t\t" + "英语成绩" + "\t" + "C#成绩" + "\t\t" + "平均成绩" + "\r\n";
           
            for (int j = 0; j < 2; j++)
            {
                while (true)
                {
                    stu.name = Microsoft.VisualBasic.Interaction.InputBox("请输入名字", "输入名字", "黄辉", -1, -1);
                  
                    alist.Add(stu.name);
                    break;
                  
                }
               
                while (true)
                {
                    stu.number = Microsoft.VisualBasic.Interaction.InputBox("请输入学号", "输入学号", "1215080131", -1, -1);
                    
                    alist.Add(stu.number);
                    break;
                    
                }
                   while(true)
                    {

                        stu.score1 = Convert.ToInt32(Microsoft.VisualBasic.Interaction.InputBox("请输入成绩", "输入成绩", "90", -1, -1));
                        alist.Add(stu.score1);
                        stu.score2 = Convert.ToInt32(Microsoft.VisualBasic.Interaction.InputBox("请输入成绩", "输入成绩", "90", -1, -1));
                        alist.Add(stu.score2);
                        break;

                    }
                   stu.Averger = (stu.score1 + stu.score2) / 2;
                   textBox1.Text = textBox1.Text + stu.name + "\t\t" + stu.number + "\t" + stu.score1.ToString() + "\t\t" + stu.score2 + "\t\t" + stu.Averger + "\r\n";
                }



            }

        private void button2_Click(object sender, EventArgs e)
        {
         textBox2.Text = "升序排列" + "\r\n" + "学号" + "\t\t" + "姓名" + "\t\t" + "英语成绩" + "\t" + "C#成绩" + "\t\t" + "平均成绩" + "\r\n";
           alist.Sort();
            foreach (string i in alist)
            {
                textBox2.Text = textBox2.Text + i + "\t"+"\r\n";
            }
        }
        }

        
        public class student : IComparable
        {
            public string name;
            public string number;
            public int score1;
            public int score2;
            public float Averger = 0;
            public student()
            {

            }

            public student(string name, string number, int score1, int score2)
            {
                this.name = name;
                this.number = number;
                this.score1 = score1;
                this.score2 = score2;
            }
            public int CompareTo(object num)
            {
                student otherStudent = num as student;
                int result = this.(otherStudent.number);
                return result;
            }
        }

        
    }
还是无法排序诶。。。。呜呜。。。。帮帮。。。

你不勇敢,谁替你坚强。。。
2013-06-17 20:43
快速回复:求路过的大神解惑???不知道为什么排不了序。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057391 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved