Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 联盟日程安排程序,正确插入日期_Java - Fatal编程技术网

Java 联盟日程安排程序,正确插入日期

Java 联盟日程安排程序,正确插入日期,java,Java,这个程序有一些问题。我是Java新手,正在尝试制作一个联盟调度器。我已经到了用户可以输入所需球队数量、预期联赛开始日期和结束日期的地步。一旦用户选择了结束日期,就会向用户建议若干轮,因为这将是联盟需要持续的周数。目前,当联盟生成时,日期会全部打印出来,我的问题是,我如何才能打印出“2018年6月5日第1轮”这样的日期。另外,我怎样才能改变我的程序,使奇数可以被接受,类似于“再见”? 我为我对这个主题的不了解道歉,我已经包括了我的代码片段和我的GUI图片,因此它提供了更多的上下文 非常感谢,, 杰

这个程序有一些问题。我是Java新手,正在尝试制作一个联盟调度器。我已经到了用户可以输入所需球队数量、预期联赛开始日期和结束日期的地步。一旦用户选择了结束日期,就会向用户建议若干轮,因为这将是联盟需要持续的周数。目前,当联盟生成时,日期会全部打印出来,我的问题是,我如何才能打印出“2018年6月5日第1轮”这样的日期。另外,我怎样才能改变我的程序,使奇数可以被接受,类似于“再见”? 我为我对这个主题的不了解道歉,我已经包括了我的代码片段和我的GUI图片,因此它提供了更多的上下文

非常感谢,, 杰克

void cyclicRoll(int cycle[],int团队){
int tmp=周期[1];

对于(int i=1;i
如何更改我的程序,使奇数可以被接受,类似于“再见”
-我不确定我是否理解你的意思。假设你指的是奇数个团队,那么你需要知道如何安排这种情况下的轮次。这不是真正的Java特定问题,而是一些一般的算法问题ed需要解决(作为一个联盟组织者,你会如何在纸上完成它?)。您好,谢谢您的评论。在这方面,如果输入奇数个团队,则只需添加一个额外的团队,从而使其再次成为偶数。至于格式,您只需根据需要定义它。您可能需要嵌套循环,即不必为(日期)设置
{…}对于(轮数){…}
但是对于(日期){…}}
更确切地说是
对于(日期的轮数){…}
。对于进一步的建议,你能提供数据和预期输出的示例吗?所以如果你为团队输入7,你会得到8,对吗?因为团队还没有名字(现在),也就是说,你不需要单独处理那个额外的团队,你可以只做
teams+=teams%2
(模运算)。
teams%2
对于偶数是0,对于奇数是1。一些额外的旁注:1)我强烈建议你对所有块使用大括号(例如
如果((teams%2!=0)和(&&&(round!=teams-1))||(团队)
       void cyclicRoll(int cycle[], int teams) {

    int tmp = cycle[1];

    for(int i=1;i<teams-1;i++) {

        int pr = cycle[i+1];

        cycle[i+1] = tmp;

        tmp = pr;

    }

    cycle[1] = tmp;

}

void scheduleTournament(int teams, int round) {

    if (((teams%2 != 0) && (round != teams - 1))||(teams <= 0))

        throw new IllegalArgumentException();

    int[] cycle = new int[teams];

    int n = teams /2;

    for (int i = 0; i < n; i++) {                                

        cycle[i] = i + 1;

        cycle[teams - i - 1] = cycle[i] + n;


    }                        

    Date startDate = (jXDatePicker1.getDate());
    Date endDate = (jXDatePicker2.getDate());
    LocalDate dates = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    LocalDate firstdate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

    DayOfWeek dayOfWeeek = dates.getDayOfWeek();

    LocalDate datee = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();  
    String listrep ="";
    String firstDateToPrint = firstdate.toString();

    while (!dates.equals(datee)) {
        jTextArea1.removeAll();
        if(dayOfWeeek == dayOfWeeek) {
            dates = dates.plusDays(7);

        }      
        String[] Itdates = {dates.toString()

            };

        for(String replacement : Itdates) {

            if ("".equals(listrep)) {
                listrep += replacement;
            } else {
                listrep +=  ", \n" + replacement ;
            }

        }
    }
    jTextArea1.append(firstDateToPrint + "\n");         
    jTextArea1.append(listrep);



    for(int d = 1; d <= round; d++) 
    {

        jTextArea1.append(String.format("Round %d\n",  d ));

        for (int i = 0; i < n; i++)
        {

            jTextArea1.append(String.format("team %d - team %d\n",cycle[i],cycle[teams - i - 1]));

        }

        //Roll the cycle keeping the first constant
        cyclicRoll(cycle,teams);        
    }
}
String ref;
String teams;
String rounds;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    jTextArea1.selectAll();
    jTextArea1.replaceSelection("");  
    teams = jTextField1.getText();
    int teamsToEnter = Integer.parseInt(teams);
    rounds = jTextField2.getText();
    int roundsToEnter = Integer.parseInt(rounds);
    ref = jTextField3.getText();
    jTextArea1.append("Ref "+ref + "\n");
    scheduleTournament(jTextField2,roundsToEnter);

}