【JAVA】PTA7-3 星期几换算

问题描述:

今天是周六,又到了可以休息的日子了,7天后又会是一个周六。请你帮忙计算下,n(n为整数,可以是正也可以为负)天后会是星期几呢?

输入格式:

输入天数

输出格式:

输出星期几

输入样例1:

8

输出样例1:

星期日

输入样例2:

-2

输出样例2:

星期四

 思路:

  1. 定义两个变量,n和m,其中n用于存储用户输入的整数,m初始值为6,表示当前的天数。
  2. 根据n的值进行不同的处理:
    a. 如果n大于等于0,将n加到m上,然后判断m是否大于7。如果是,判断m是否为7的倍数,如果是则输出“星期日”,否则计算m除以7的余数,并输出对应的天数。如果m小于等于7,直接输出对应的天数。
    b. 如果n小于0,将n加到m上,然后判断m是否大于等于0。如果是,直接输出对应的天数。如果m小于0,计算m的绝对值,然后判断是否小于7。如果是则输出“星期日”,否则计算m除以7的余数,并输出对应的天数。

代码:

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        int n,m = 6;
        Scanner scan = new Scanner(System.in);
        String[] date = {"星期一","星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};
        n = scan.nextInt();
        if(n >= 0){
            m += n;
            if(m > 7) {
                if (m % 7 == 0) {
                    System.out.println("星期日");
                } else {
                    int j = m % 7;
                    System.out.println(date[j - 1]);
                }
            }
            else{
                System.out.println(date[m - 1]);
            }
        }
        //n小于0
        else{
            m += n;
            if(m >= 0){
                System.out.println(date[m-1]);
            }
            else{
                int a = Math.abs(m);
                if(a < 7) System.out.println(date[7-a-1]);
                else{
                    if(a % 7 == 0) System.out.println("星期日");
                    else{
                        System.out.println(date[7 - (a % 7) - 1]);
                    }
                }
            }
        }
    }
}

效果截图:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值