1.例如a =2,n=5 则s=2+22+222+2222+22222
实现过程及思路
先分析实现思路
1初始化每一项的值为0
第一项的值等于 0*10+a
第二项的值等于 第一项的值*10+a
第三项的值等于 第二项的值*10+a
....
2.用户输入年月日判断是这一年的第几天
package com.test;
public class TestSum {
public static void main(String[] args) {
int a = 3;
int n = 5;
sumx(a, n);
int sumInputIsDayOfYear = sumInputIsDayOfYear(20000312);
System.out.println(sumInputIsDayOfYear);
}
/**
* 例如a =2,n=5 则s=2+22+222+2222+22222
*/
public static int sumx(int a,int n) {
int x =0;
int sum = 0;
for (int i = 0; i < n; i++) {
x = x *10 +a;
sum += x;
}
return sum;
}
/**
* 输入一天判断这一天是这一年的第几天
*/
public static int sumInputIsDayOfYear(int a) {
String strA = String.valueOf(a);
String y = strA.substring(0,4);
int year = Integer.valueOf(y);
String b = strA.substring(4,6);
int month = Integer.valueOf(b);
String c = strA.substring(6,8);
int day = Integer.valueOf(c);
int days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int allDays = 0;
if((year%4==0&&year%100==0)||year%400==0) {
days[1] = 29;
}
for (int i = 0; i < month-1; i++) {
allDays+=days[i];
}
return allDays+=day;
}
}