1,用 for 循环完成 1 至 100 内所有偶数和奇数分别累加。
最后,输出偶数的累加结果和奇数的累加结果。
public class LoopTest {
public static void main(String[] args){
// 累加,完成1-100之间的所有整数相加;
int i = 1;
int sum = 0;
while(i <= 100 ){
sum += i;
i++;
}
System.out.println("1 - 100累加的结果是:" + sum );
add( 100 ); // 调用方法完成累加, 1-100奇数加一次,偶数加一次;
}
public static void add(int x ){
int a = 1;
int sum1 = 0;
int sum2 = 0;
while(a <= x ){
if(a % 2 == 0){
sum1 += a;
}else{
sum2 += a;
}
a++;
}
System.out.println("1-100之中,偶数累加的结果是:" + sum1);
System.out.println("1-100之中,奇数累加的结果是:" + sum2);
}
}
2,产生三个随机的整数,用if语句实现三个整数由小到大排序。
/*
数学类: Math
1) 来源于 java.lang.Math; 由专家给定。
2) 用来为程序员提供常用的数学函数和数学常量。
例如: abs(n); 求n的绝对值
sqrt(n); 求n的平方根
pow( x, y ); 求x的y次方
random() ; 产生一个[ 0 , 1 ) 范围的随机double型数。
round( x ); 对x进行四舍五入反馈一个long型整数。
思考: 产生三个随机的整数,用if语句实现三个整数由小到大排序。
若是四个整数、五个整数又如何(考察目的:从中找到多个整数排序规律)。
*/
public class MathTest {
public static void main(String[] args){
// 产生3个随机整数,并由if语句实现排序
int a = (int)(100*Math.random());
int b = (int)(100*Math.random());
int c = (int)(100*Math.random());
System.out.println("产生3个1-100之间的随机整数: " + a + ", " + b +", " + c );
int x = 0; //定义中间变量x,用来做比较运算;
if(a > b){
x = a;
a = b;
b = x; //若a>b,则交换a,b的位置
}
if(b > c){
x = b;
b = c;
c = x; //再让b与c比较,若b>c,交换b,c的位置
}
if(a > b){
x = a;
a = b;
b = x; //再比较一下a和b,若a>b,则交换a,b的位置
}
System.out.println("这3个整数排序后为:" + a + ", " + b + ", " + c );
}
}
3,打印输出1-2000之间既能被3整除又能被8整除的前15个整数,每行输出5个;
// 编写一个程序打印输出1-2000之间既能被3整除又能被8整除的前15个整数,每行输出5个;
public class Work01 {
public static void main(String[] args){
int j=0;
for(int i = 1; i < 2000; i++ ){
if(i % (3*8) == 0 ){
System.out.print(i + " ");
if(j != 0 && j % 5 == 0){
System.out.println();
}
if(j >= 15){
i = 2000;
}
j++;
}
}
}
}
4, 求1!+2!+……+15! (注意:溢出);
// 编程求1!+2!+……+15! (注意:溢出);
public class Work02 {
public static void main(String[] args){
//编程求出15的阶乘 15! ;
int sum = 1 ;
for(int i = 1 ; i <= 15 ; i++ ){
sum *= i ;
}
System.out.println("15! = " + sum ); //运行结果, 15! = 2004310016
System.out.println("16! = " + ass(16) ); //调用方法ass(n)可以求任意整数的阶乘;
//使用for循环反复调用方法ass求出1!--- 15!的和;
long sum1 = 0 ;
for(int j = 1 ; j <= 15 ; j++ ){
sum1 += ass(j) ;
}
System.out.println("1!+2!+3!+...+ "+ ass(15)+ " =" + sum1 );
}
//把上面求15!写成方法,可求任意整数的阶乘;
public static long ass(int n){
long sum = 1 ; //定义一个lang型整数储存结果,避免溢出;
for(int i = 1 ; i <= n ; i++ ){
sum *= i ;
}
return sum;
}
}
5,输出菲波拉契数列的前20项(1,1,2,3,5,8…),且每行只能输出5个数据。
// 编写Java应用程序,输出菲波拉契数列的前20项(1,1,2,3,5,8…),且每行只能输出5个数据。
public class Work03 {
public static void main(String[] args){
int a = 1 ;
int b = 1 ;
int c = 0 ;
System.out.print(a + ", ");
for(int i = 2 ; i <= 20 ; i++ ){
System.out.print(b + ", ");
c = a + b ;
a = b ;
b = c ;
if(i % 5 == 0){
System.out.println();
}
}
}
}
6,编写Java应用程序,输出一个菱形
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
//编写Java应用程序,输出一个菱形
public class Work04 {
public static void main(String[] args){
for(int i = 0 ; i < 10 ; i++ ){
if(i <= 5){
for (int j = 1 ; j <= 5-i ; j++ ){
System.out.print(" ");
}
for (int j = 1 ; j <= i ; j++ ){
System.out.print("* ");
}
}else{
for (int j = 1 ; j <= i-5 ; j++ ){
System.out.print(" ");
}
for (int j = 1 ; j <= 10-i ; j++ ){
System.out.print("* ");
}
}
System.out.println();
}
}
}
7,编写Java应用程序,中国古时有人提出“百钱买百鸡”,即:公鸡5元一只,
母鸡3元一只,小鸡1元三只,问:最终可买到公鸡、母鸡、小鸡分别是多少?
/*
编写Java应用程序,中国古时有人提出“百钱买百鸡”,即:公鸡5元一只,
母鸡3元一只,小鸡1元三只,问:最终可买到公鸡、母鸡、小鸡分别是多少?
*/
public class Work05 {
/*
5a + 3b + 1/3c = 100; a + b + c = 100;
结果 a = 4, b = 18, c = 78,
a = 8, b = 11, c = 81,
a = 12, b = 4, c = 84,
*/
public static void main(String[] args){
for(int a = 0 ; a <= 100/5 ; a++ ){ //公鸡的数量a最多能买100/5个;
for(int b = 0 ; b <= (int)(100/3) ; b++ ){ //母鸡的数量b最多能买100/3个;
for(int c = 0 ; c <= 3*100 ; c += 3 ){ //小鸡的c只能一次买3个;
if(5*a + 3*b + c/3 == 100 && a + b + c == 100 ){
System.out.println("公鸡数量为:" + a + ", 母鸡的数量为:"
+ b + ", 小鸡的数量为:" + c);
}
}
}
}
}
}
8, 红、黄、黑、白4色球各一个,放置在编号为1,2,3,4的4个盒子里面,
每个盒子一个球,顺序未知。
甲、乙、丙三个人猜测放置顺序如下:
甲:黑球在1号盒子,黄球在2号盒子;
乙:黑球在2号盒子,白球在3号盒子;
丙:红球在2号盒子,白球在4号盒子;
结果证明:甲、乙、丙三人各猜中一半,试通过程序求出4色球在盒子中的放置位置。
/*
红、黄、黑、白4色球各一个,放置在编号为1,2,3,4的4个盒子里面,
每个盒子一个球,顺序未知。
甲、乙、丙三个人猜测放置顺序如下:
甲:黑球在1号盒子,黄球在2号盒子;
乙:黑球在2号盒子,白球在3号盒子;
丙:红球在2号盒子,白球在4号盒子;
结果证明:甲、乙、丙三人各猜中一半,试通过程序求出4色球在盒子中的放置位置。
*/
public class Work06 {
static int r, y, b, w;
static boolean f1, f2, f3;
//甲 b == 1 && y == 2;
//乙 b == 2 && w == 3;
//丙 r == 2 && w == 4;
public static void main(String[] args){
for(int i = 1; i <= 4; i++ ){
r = i ;
for(int j = 1; j <= 4; j++){
if(j!=i){
y = j ;
for(int k = 1; k <= 4; k++ ){
if(k != j && k != i){
b = k ;
for(int m = 1; m <= 4; m++ ){
if(m != j && m != i && m != k){
w = m ;
if((b == 1 ^ y == 2)&&(b == 2 ^ w == 3)&&(r == 2 ^ w == 4)){
System.out.println("红球:"+r+", 黄球:"+y
+", 黑球:"+b+", 白球"+w+" ");
}
}
}
}
}
}
}
}
}
}