1、设计一个方法,输出所有的水仙花数
static void waterFlowerNumber(int n) {
if (n > 100 && n < 999) {
int a = n / 100;
int b = n / 10 % 10;
int c = n % 10;
int sum = a * a * a + b * b * b + c * c * c;
if (sum == n) {
System.out.println(n);
return;
}
}
}
2、设计一个方法,输出指定范围内的所有质数,范围由参数控制
static void primeNumber(int a, int b) {
int numax = a > b ? a : b;
int numin = a < b ? a : b;
for (int i = numin; i <= numax; i++) {
boolean flag = true;
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) {
flag = false;
break;
}
}
if (flag) {
System.out.println(i);
}
}
}
3、设计一个方法,1-3+5-7+9-11…-99+101的值,并将计算结果返回
static int calPlusMinus() {
int res = 0;
for (int i = 1 ;i <= 101 ;) {
res += i;
i +=4;
}
for(int j = 3 ; j <= 99;) {
res -= j;
j += 4;
}
return res;
}
4、设计一个方法,计算两个数字的最小公倍数,数字由参数决定,并将结果返回
static int LCM(int x, int y) {
int numax = x > y ? x : y;
int numin = x < y ? x : y;
for (int i = numax;; i++)
if (i % numin == 0 && i % numax == 0)
return i;
}
5、设计一个方法,计算a+aa+aaa+…+a…a的值,a和数字的个数由参数控制
static void continuePlus1(int a, int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
int temp = 0;
for (int j = 1; j <= i; j++) {
temp = temp * 10 + a;
}
sum += temp;
}
System.out.println(sum);
}
static void continuePlus2(int a,int n){
int res = 0;
int sum = 0;
int n1 = n;
while (n1 != 0) {
res = res * 10 + a;
sum = res + sum ;
n1--;
}
System.out.println(sum);
}
6、设计一段程序,计算一个数字的二进制原码(只考虑正数)
static void tenToBinary(int num) {
String str1 = "",str2 = "";
while(num != 0){
int temp = num % 2 ;
str1 += temp;
num = num / 2; //num = num >> 2;
}
str2 = new StringBuffer(str1).reverse().toString(); // 字符串翻转
System.out.println(str2);
}
7、设计一段程序,计算一个时间的下一秒,时分秒用参数控制,并拼接好字符串返回
static String timeTranslation(int h, int m, int s) {
String str = "";
int res = h * 60 * 60 + m * 60 + s + 1;
int h1 = res / 60 / 60;
int m1 = (res - h1 * 60 * 60) / 60;
int s1 = (res - h1 * 60 * 60) % 60;
str = h1 + " : " + m1 + " : " + s1;
return str;
}
8、设计一段程序,计算两个日期之间相差多少天,两个日期的年月日都由参数控制
static int dateTime(int y, int m, int d) {
int[] month = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int sum = 0;
for (int i = 1; i < y; i++)
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
sum += 366;
month[2] = 29;
}
else
sum += 365;
for (int i = 1; i < m; i++)
sum += month[i];
sum += d;
return sum;
}
static int twoDateMinus(int y1, int m1, int d1, int y2, int m2, int d2) {
int day1 = dateTime(y1, m1, d1);
int day2 = dateTime(y2, m2, d2);
int minus = day2 > day1 ? day2 - day1 : day1 - day2;
System.out.println("差 " + minus + "天");
return minus;
}
9、九九乘法表
static void nineTable() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++)
System.out.print(i + " × " + j + "=" + i * j + " \t");
System.out.println();
}
}
10、已知一只母鸡5元,一直公鸡3元,三只小鸡1元。你有100元来购买鸡,要求正好花完100元钱,且正好买100只鸡,列出所有的购买方案,例如:公鸡x只,母鸡x只,小鸡x只。
static void buyChickens() {
for (int m = 0; m <= 100 / 5; m++)
for (int g = 0; g <= 100 / 3; g++)
for (int x = 0; x <= 100; x++)
if (m * 5 + g * 3 + x / 3 == 100 && x % 3 == 0 && g + m + x == 100) {
System.out.println(m);
System.out.println(g);
System.out.println(x);
}
}