Java练习题⼀(for循环)题⽬1: 统计正数和负数的个数然后计算这些数的平均值
import java.util.Scanner;
class Home13{
/*
数据:输⼊的数字、正、负数的个数、平均值
步骤:1、提⽰⽤户输⼊⼀串数字,以0为结束
2、⽤while循环读取输⼊数字,并进⾏判断,若为0则跳出循环,终⽌输⼊
3、同时判断输⼊数字的正负,并统计个数
4,求出输⼊数字之和,计算平均值
5、显⽰输出结果
*/
public static void main(String[] args){
Scanner scanner =new Scanner(System.in);
System.out.print("Enter an integer,the input ends if it is 0: ");
int num=1;
int pos=0;
int neg=0;
int count=-1;
double total=0;
double average=0;
while(num!=0){
num = Int();
if(num>0){
pos++;
}else if(num<0){
neg++;
}
++count;
total+=num;
average = total/count;
}
System.out.println("The number of the positives is "+pos);
System.out.println("The number of the negatives is "+neg);
System.out.println("The total is "+total);
System.out.println("The average is "+average);
}
nextint()方法}
题⽬2:
import java.lang.Math;
class Home14{
/
*
数据:变量n
步骤:1、定义循环变量n
2、因为不知道循环的次数所有⽤while循环
3、写循环结束条件,显⽰输出结果
*/
public static void main(String[] args){
int n =1;
while(Math.pow(n,2)<=12000){
n++;
}
System.out.println("n为:"+n);
}
}
题⽬三:显⽰闰年
class Home17{
/*
闰年通常的判断⽅法是:
A:可以被4整除的,但不能被100整除
B:可以被400整除
只要满⾜AB任意⼀种情况就是闰年。
数据:年份数
步骤:1、遍历101~2100的数
2、根据闰年的判断⽅法,到符合闰年的数
3、符合⼀个,统计⼀个,
*/
public static void main(String[] args){
int count =0;
for(int i =101;i<=2100;i++){
if(i%4==0&&i%100!=0||i%400==0){
count++;
if(count%10!=0){
System.out.print(i+"\t");
}else{
System.out.print(i+"\n");
}
}
}
System.out.println("\n"+"101~2100期间共有:"+count+"个闰年"); }
}
题⽬四:⽤循环语句打印四个图案
图案1:
class Home15_1{
public static void main(String[] args){
for(int i =1;i<7;i++){//⾏数循环,循环⼀次增加⼀⾏
for(int j =1;j<=i;j++){//⾏内循环,打印的最后⼀个数字就是所在⾏数
System.out.print(j+" ");
}
System.out.println();
}
}
}
图案2:
class Home15_2{
public static void main(String[] args){
for(int i =1;i<7;i++){//⾏数循环,循环⼀次增加⼀⾏
for(int j =1;j<8-i;j++){//⾏内循环,打印的数的个数为总⾏数+1减当前⾏ System.out.print(j+" ");
}
System.out.println();
}
}
}
图案3:
class Home15_3{
public static void main(String[] args){
for(int i =1;i<7;i++){//⾏数的循环
for(int j =1;j<7-i;j++){//打印⾏前空格,循环⽅式为图案2的⼦循环
System.out.print(" ");
}
for(int k = i;k>0;k--){//打印数字
System.out.print(k+" ");
}
System.out.println();
}
}
}
图案4:
class Home15_4{
public static void main(String[] args){
for(int i =1;i<7;i++){//循环⾏数
for(int j =1;j<i;j++){//打印⾏前空格,循环⽅式为图案1的⼦循环
System.out.print(" ");
}
for(int k =1;k<8-i;k++){// 打印数字,循环⽅式为图案2的⼦循环
System.out.print(k+" ");
}
System.out.println();
}
}
}
题⽬5:打印⾦字塔形状的数字
import java.lang.Math;
class Home16{
/*
数据:定义的变量
步骤思路:1、以⾏数写⼀个for循环,其余循环都在这个循环中进⾏
2、然后将数字⾦字塔分为三部分
1~8⾏前的空格为⼀部分,⼀个for循环
前⼋列为⼀个循环
后七列为⼀个循环
3、三个⼦循环的初值和循环结束条件都与⾏数循环相关
(输出时中间空格时⽤/t使数字排列整齐)
*/
public static void main(String[] args){
for(int i =1;i<9;i++){
for(int j =1;j<9-i;j++){
System.out.print("\t");
}
//数字部分从中间分为左右两部分,从左到右左边递增,右边递减,分别循环实现for(int k =1;k<Math.pow(2,i);k*=2){
System.out.print(k+"\t");
}
for(int h =(int)Math.pow(2,i-2);h>=1;h/=2){
System.out.print(h+"\t");
}
System.out.println();
}
}
}
题⽬6:最⼤数的出现次数
import java.util.Scanner;
class Home18{
public static void main(String[] args){
Scanner scanner =new Scanner(System.in);//Scanner类新建⼀个对象
System.out.println("Enter number: ");
int num =1;
int max =0;
int count =0;
do{
num = Int();//从控制台读取输⼊
if(max==num){//
count++;
}
if(max<num){//最⼤值对⽐新输⼊的值,取两者最⼤值并给最⼤值重新赋值 max=num;
count =1;
}
}
while(num!=0);//循环终⽌条件,输⼊为0时结束循环
System.out.println("The largest number is "+max);
System.out.println("The occurrence count of the largest number is "+count);
}
}
实现的另⼀种⽅法:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论