Java试题求解
1.求和S=12-32+52-72+92-...(共50项,直接在main方法中写程序)。2.写一个日期类Date,有year、month和day三个数据域,都是int型...
1.求和S=12-32+52-72+92-...(共50项,直接在main方法中写程序)。
2.写一个日期类Date,有year、month和day三个数据域,都是int型,要求:
(1)数据域封装,写出它们的访问器和修改器;
(2)两个构造方法,一个是无参数默认的日期是1900.01.01,另一个是带参数的;
(3)写一个run方法,增加一天;
(4)写一个output方法,以格式“今天是XXXX年XX月XX日”的格式输出日期。
最后,在main方法中测试该类,创建一个对象ddd,初始值为2018年7月28日,用方法rum运行100天,然后用output方法输出第100天。 展开
2.写一个日期类Date,有year、month和day三个数据域,都是int型,要求:
(1)数据域封装,写出它们的访问器和修改器;
(2)两个构造方法,一个是无参数默认的日期是1900.01.01,另一个是带参数的;
(3)写一个run方法,增加一天;
(4)写一个output方法,以格式“今天是XXXX年XX月XX日”的格式输出日期。
最后,在main方法中测试该类,创建一个对象ddd,初始值为2018年7月28日,用方法rum运行100天,然后用output方法输出第100天。 展开
1个回答
展开全部
你好提问者:
如果解决了你的问题请采纳,若有疑问请追问,谢谢!
第一题:
package com.zyx.cn.baidu_test.day1;
/**
* 求和S=1^2-3^2+5^2-7^2+9^2-...(共50项,直接在main方法中写程序)
* @author yltd
*
*/
public class HundredUnevenNumber {
public static void main(String[] args) {
int cont =0;
int number =0;
//查询一百以内的奇数:不能被2整除
for( int i=1 ; i<=100 ; i++ ){
if(i%2 != 0){ //不能被2整除
cont++;
if(cont%2 !=0){
number = number + i*i;
}else{
number = number - i*i;
}
}
}
System.out.println("共计:"+cont);
System.out.println("和:"+number);
}
}
结果:
共计:50
和:-5000
第二题:
package com.zyx.cn.baidu_test.day1;
/**
* 写一个日期类Date,有year、month和day三个数据域,都是int型,要求:
(1)数据域封装,写出它们的访问器和修改器;
(2)两个构造方法,一个是无参数默认的日期是1900.01.01,另一个是带参数的;
(3)写一个run方法,增加一天;
(4)写一个output方法,以格式“今天是XXXX年XX月XX日”的格式输出日期。
最后,在main方法中测试该类,创建一个对象ddd,初始值为2018年7月28日,用方法rum运行100天,然后用output方法输出第100天。
* @author yltd
*
*/
public class DateTest {
public static void main(String[] args) {
NewDate ddd =new NewDate(2018,7,28);
NewDate aaa = ddd.run(ddd,100);
aaa.output(aaa);
}
}
class NewDate{
private int year;
private int month;
private int day;
// getXXX/setXXX
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
//无参构造方法:1900.01.01
NewDate(){
setYear(1900);
setMonth(01);
setDay(01);
System.out.println(getYear()+"."+getMonth()+"."+getDay());
}
//带参构造方法
NewDate(int year,int month,int day){
setYear(year);
setMonth(month);
setDay(day);
System.out.println(getYear()+"."+getMonth()+"."+getDay());
}
//加number天
NewDate run(NewDate date,int number){
int year =date.getYear();
int month=date.getMonth();
int day=date.getDay();
for (int i = 0; i < number; i++) {
if(year%4 ==0){//闰年
if(month ==2){//2月
if(day<28){
day = day+1;
}else if(day==28){
day =1;
month = month+1;
}
}
}else{//平年
if(month ==2){//2月
if(day<29){
day = day+1;
}else if(day==29){
day =1;
month = month+1;
}
}
}
//大小月天数
if(month ==1||month ==3||month ==5||month ==7||month ==8||month ==10||month ==12){//31天的月份
if(day<31){
day = day+1;
}else if(day ==31){
day =1;
if(month ==12){//如果是12月的最后一天
year =year+1;
month =1;
}else{
month = month+1;
}
}
}else{//30天的月份
if(day<30){
day = day+1;
}else if(day ==30){
day =1;
month = month+1;
}
}
}
System.out.println(year+"==="+month+"==="+day);
NewDate newDate =new NewDate(year,month,day);
return newDate;
}
//输出
void output(NewDate newDate) {
System.out.println("今天是"+newDate.getYear()+"年"+newDate.getMonth()+"月"+newDate.getDay()+"日");
}
}
结果:
2018.7.28
2018===11===5
2018.11.5
今天是2018年11月5日
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询