Java编程练习1——求三个数大小,一百个数的和

版权声明:此账号的博客均为原创,侵权必究! https://blog.csdn.net/qq_37084904/article/details/82924215

1.求三个数中最小值和最大值

思路1:先定义两个值min和max赋值给a,然后再将b和c与a进行比较即可

package Hello;

public class test {

	public static void main(String[] args) {
		int a=5,b=7,c=3;
		int min=a;//定义最小值,将a赋给最小值,然后进行比较
		if(b<a){
			min=b;
		}
		if(c<b){
			min=c;
		}
		System.out.println("最小值为:"+min);
		int max=a;//定义最大值,将a赋给最大值,然后进行比较
		if(b>a){
			max=b;
		}
		if(c>b){
			max=b;
		}
		System.out.println("最大值为:"+max);
	}
}

思路2:先定义一个中间变量temp,再将三个数进行比较。将最大值或最小值赋给temp即可

package Hello;

public class test {

	public static void main(String[] args) {
		int a=5,b=7,c=3;
		int temp;
		if(a<b){
			 temp=a;
			 a=b;
			 b=temp;
		}
		if(a<c){
			temp=a;
			a=c;
			c=temp;
		}
		System.out.println("最大值为:"+a);
		if(a>b){
			 temp=a;
			 a=b;
			 b=temp;
		}
		if(a>c){
			temp=a;
			a=c;
			c=temp;
		}
		System.out.println("最小值为:"+a);
	}
}

思路3:直接运用三目运算符,简洁明了

package Hello;

public class test {

	public static void main(String[] args) {
		int a=5,b=7,c=3;
		int t=(a>b)?a:b;//求a与b之间的最大值
		int max=(t>c)?t:c;//求t与c之间的最大值,也就是三个数中的最大值
		System.out.println("最大值为:"+max);
		int s=(a<b)?a:b;//求a与b之间的最小值
		int min=(s<c)?s:c;//求t与c之间的最小值,也就是三个数中的最小值
		System.out.println("最小值为:"+min);
	}
}

三种算法的结果均为:

最大值为:7
最小值为:3

2.求一百个数的和

直接运用for循环即可

package Hello;

public class test {

	public static void main(String[] args) {
		int sum=0;
		for(int i=1;i<=100;i++){
			sum=sum+i;
		}
		System.out.println(sum);
	}
}

结果:

5050

思考有一行数字序列,第一个数字为1,第二个数字为1+2的和,第三个数字为第二个数字+3的和,第四个数字为第三个数字+4的和...(注意这并不是斐波那契数列);思路其实很简单,将输出语句写到for循环里面即可

package Hello;

public class test {

	public static void main(String[] args) {
		int sum=0;
		for(int i=1;i<=100;i++){
			sum=sum+i;
			System.out.print(sum+" ");
			if(i%5==0){
				System.out.println();
			}
		}
	}
}

结果:

1 3 6 10 15 
21 28 36 45 55 
66 78 91 105 120 
136 153 171 190 210 
231 253 276 300 325 
351 378 406 435 465 
496 528 561 595 630 
666 703 741 780 820 
861 903 946 990 1035 
1081 1128 1176 1225 1275 
1326 1378 1431 1485 1540 
1596 1653 1711 1770 1830 
1891 1953 2016 2080 2145 
2211 2278 2346 2415 2485 
2556 2628 2701 2775 2850 
2926 3003 3081 3160 3240 
3321 3403 3486 3570 3655 
3741 3828 3916 4005 4095 
4186 4278 4371 4465 4560 
4656 4753 4851 4950 5050 

斐波那契数列是这样的

package Hello;

public class test {

	public static void main(String[] args) {
		int a1=1,a2=1;
		for(int i=1;i<38;i++){
			System.out.printf("%10d %10d",a1,a2);
			a1=a1+a2;//将前面两个数的和赋值给后面一个数
			a2=a2+a1;//依次循环
			if(i%5==0){
				System.out.println();
			}
		}
	}
}

其结果为(注意输出格式的问题):

         1          1         2          3         5          8        13         21        34         55
        89        144       233        377       610        987      1597       2584      4181       6765
     10946      17711     28657      46368     75025     121393    196418     317811    514229     832040
   1346269    2178309   3524578    5702887   9227465   14930352  24157817   39088169

猜你喜欢

转载自blog.csdn.net/qq_37084904/article/details/82924215