十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
package com.date;
专注于为中小企业提供成都网站制作、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业岳池免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
public class DateDome {
private int year=0;//年
private int month=0;//月
private int day=0;//日
public DateDome(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public DateDome(){
}
//年大于等于0
public boolean isYear(){
boolean suc=false;
if(year0)return suc;
else if(year=0)suc=true;
return suc;
}
//判断月数1-12月
public boolean isMonth(){
boolean suc=false;
if(month0||month12)return false;
else suc=true;
return suc;
}
//判断天数1-31号
public boolean isDay(){
boolean suc=false;
if(day=0||day31)return suc;
else suc=true;
return suc;
}
//是否为闰年
public boolean isRunNian(int year){
boolean suc=false;
if(year=0){
if(year%400==0||(year%4==0year%100!=0)){
suc=true;
}
}
return suc;
}
//判断合法年月日
public boolean isInvaildate(int year,int month, int day){
boolean suc=false;
if(isYear()isMonth()isDay()){
switch(month){
case 1:
suc=true;
break;
case 2:
if(isRunNian(year)day=29){
suc=true;
}else if(day=28){
suc=true;
}
break;
case 3:
suc=true;
break;
case 4:
if(day=30)suc=true;
break;
case 5:
suc=true;
break;
case 6:
if(day=30)suc=true;
break;
case 7:
suc=true;
break;
case 8:
suc=true;
break;
case 9:
if(day=30)suc=true;
break;
case 10:
suc=true;
break;
case 11:
if(day=30)suc=true;
break;
case 12:
suc=true;
break;
}
}
return suc;
}
//根据日期得到天数
public int getDaysByDate(int year,int month,int day){
int days=0;
if(isInvaildate(year,month,day)){
for(int i=0;iyear;i++){
if(isRunNian(i)){
days+=366;
}else{
days+=365;
}
}
for(int i=1;imonth;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
days+=31;
}else if(i==4||i==6||i==9||i==11){
days+=30;
}else if(i==2){
if(isRunNian(year)){
days+=29;
}else{
days+=28;
}
}
}
days+=day-1;
return days;
}else{
System.out.println("处理有非法日期!!!");
return -1;
}
}
//根据天数得到日期数int[]由,年、月、日组成的数组
public int[] getDateByDays(int days){
int das=0;//预计的天数
int y=0,m=1,d=1;//0年1月1号
int[] date=new int[3];
boolean suc=true;
int temp=0;
if(days0){
System.out.println("请输入合法天数!!!");
return new int[]{0,0,0};
}
while(suc){
if(isRunNian(y)){
temp=366;
}else{
temp=365;
}
das+=temp;
if(dasdays){
y++;
}else{
das-=temp;
break;
}
}
while(suc){
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
temp=31;
}else if(m==4||m==6||m==9||m==11){
temp=30;
}else if(m==2){
if(isRunNian(y)){
temp=29;
}else{
temp=28;
}
}
das+=temp;
if(dasdays){
m++;
}else{
das-=temp;
break;
}
}
d=days-das+1;
date[0]=y;
date[1]=m;
date[2]=d;
return date;
}
//得到多少天前或后合法日期
public int[] addORsubDay(int dd){
int days=getDaysByDate(year,month,day);
if(days=0){
days+=dd;
if(days0){
return getDateByDays(days);
}else{
System.out.println("处理日期不能小于0年1月1号");
return new int[]{0,0,0};//代表无效日期
}
}else{
System.out.println("处理日期不能小于0年1月1号");
return new int[]{0,0,0};//年,月,日
}
}
//得到两个日期相距天数
public int TwoDate(int[] date1,int[] date2){
int d=-1;
if(isInvaildate(date1[0],date1[1],date1[2])isInvaildate(date2[0],date2[1],date2[2])){
int days1=getDaysByDate(date1[0],date1[1],date1[2]);
int days2=getDaysByDate(date2[0],date2[1],date2[2]);
d=days1-days2;
return d=0?d:-d;
}else
{
System.out.println("处理有非法日期!!!");
return d;
}
}
}
我写了你提出的功能,你还可以扩展其它功能。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException { //Servlet处理Get请求的方法
//这里应该有一句String action = request.getParamter("action")吧?通过url参数决定要执行的逻辑
if (action.equals("add")) { //添加书本操作
//以下语句获取请求参数的值
String ISBN = request.getParameter("ISBN");
String bookname = request.getParameter("bookname");
String type = request.getParameter("type");
String publisher = request.getParameter("publisher");
String writer = request.getParameter("writer");
String introduce = request.getParameter("introduce");
float price = Float.valueOf(request.getParameter("price")).
floatValue();
String issueDate = request.getParameter("issueDate");
String cover = request.getParameter("cover");
int newbook = Integer.parseInt(request.getParameter("newbook"));
int commend = Integer.parseInt(request.getParameter("commend"));
//b从那里来的,应该是有一句Book b = new Book()吧?以下语句将请求的参数绑定到领域对象
b.setIsbn(ISBN);
b.setBookName(bookname);
b.setType(type);
b.setPublisher(publisher);
b.setWriter(writer);
b.setIntroduce(introduce);
b.setPrice(price);
b.setIssueDate(issueDate);
b.setCover(cover);
b.setNewbook(newbook);
b.setCommend(commend);
//bDao.insertBook(b)是将领域对象b持久化到存储介质中,一般是数据库,并返回一个boolean,用来判断是否操作成功
this.forward(bDao.insertBook(b), request, response, "bookadd");
} else if (action.equals("query")) { //列出书籍列表操作
List list = bDao.getBooks(); //从存储介质中获取书籍列表
request.setAttribute("list", list); //将列表放入request中,用于视图层渲染
this.forward("admin/bookManage.jsp", request, response); //将请求转发到bookManager.jsp处理
}
//两个forward是重载的方法
//flag用来判断操作成功与否,以便将请求转发到成功或者失败的页面处理
//action表示执行的操作
public void forward(boolean flag, HttpServletRequest request,
HttpServletResponse response, String action) throws
ServletException, IOException {
if (flag) {
RequestDispatcher disp = request.getRequestDispatcher(
"admin/success.jsp?action=" + action); //获取操作成功的请求转发,并带上操作类型参数,以便视图渲染时判断显示的消息,如“新书入库成功”等等
disp.forward(request, response); //执行转发
} else { //操作失败
RequestDispatcher disp = request.getRequestDispatcher(
"admin/error.jsp?action=" + action);
disp.forward(request, response); //同成功类似,转到操作失败的统一处理,带上操作类型参数,以便视图渲染时判断显示的消息,如“书籍ISBN重复”等等
}
}
//这个forward就是做一个请求转发而已,
//根据url参数,转到相应的jsp或者servlet处理
public void forward(String url, HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException {
RequestDispatcher disp = request.getRequestDispatcher(url);
disp.forward(request, response);
}
//总的来说,这个是一个书籍处理的控制器,将关于书籍的各种操作,转发到相应的处理器去处理
public String getPercent(int x,int total){
String result="";//接受百分比的值
double x_double=x*1.0;
double tempresult=x/total;
//NumberFormat nf = NumberFormat.getPercentInstance(); 注释掉的也是一种方法
//nf.setMinimumFractionDigits( 2 ); 保留到小数点后几位
DecimalFormat df1 = new DecimalFormat("0.00%"); //##.00% 百分比格式,后面不足2位的用0补齐
//result=nf.format(tempresult);
result= df1.format(tempresult);
return result;
}
====================
idehub提供云端手机、平板、pc浏览器等方式的java编程平台,让你随时随地可以编写java代码,并有大神在线解答所有技术问题!关注code4a微信公众号!
根据需求,代码大致如下
public class T2 {
public static String getPropertyGetMethodName(String property) {
if (property == null || property.trim().length() == 0)
return "";
return "get" + String.valueOf(property.charAt(0)).toUpperCase()
+ property.subSequence(1, property.length());
}
public static void main(String[] args) {
System.out.println(getPropertyGetMethodName("a"));
System.out.println(getPropertyGetMethodName("name"));
System.out.println(getPropertyGetMethodName("names"));
}
}
21题:
int total = 1;
for (int i = 1; i 10; i++) {
total = total * i;
}
22题:
int array[] = new int[]{0, 1, 2, 3};
23题:
if (i 3) {
System.out.println(i);
} else {
System.out.println(3);
}
您好!上面是我写的回答,请确认。