问题描述: 在平时日常生活中通常需要回答当月的某日期为星期几的问题,常常通过提供你当月某天是星期几,然后需要计算当月的某日期为星期几。提供当月日期和星期的数(用阿拉伯数表示,0为Sunday,1为Monday,2为Tuesday,3为Wednesday,4为Thursday,5为Friday,6为Saturday),然后提供一个当月的日期号数,请计算该日期号数为星期几,使用英文单词输出星期几。 输入: 标准输入,输入的第一行为计算用例数为整数n,接下来的n行,每行有3个由空格分开整数,其中第一个整数为当月的日期数,第二个整数为第一个整数表示的日期的星期几,第三个整数是需要你回答当月该日期是星期几,如该行输入为:1 3 10,表示当月的1号为星期三,请问当月的10号为星期几。 输出: 标准输出:每一个计算的结果使用一行输出,输出使用英文单词输出星期几。
输入样例: 2 1 3 10 10 0 5 输出样例: Friday Tuesday
话不多说,直接上代码
import java.util.Scanner;
public class Q16 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//将星期存入数组 方便结果输出
String []weekth={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
int n=sc.nextInt();
int date;
int week;
int day;
for(int i=0; i<n; i++){
//注意变量的输入顺序
day = sc.nextInt();
week = sc.nextInt();
date = sc.nextInt();
//这里的计算大家可以自己去确认一下
int a=(date+week-day)%7;
//System.out.println(a); -------这里是用来测试计算的值是否为我们想要的值
//我们需要一个循环来排除上述a的值为负的情况
while( a<0 ){
a+=7;
}
//标准输出------注意这里a是输出数组索引
System.out.println(weekth[a]);
}
}
}
代码纯手写,初学者还得练.