Java基础案例分析

101 阅读3分钟

一:使用 for 打印所有 1~100 之间的数字,代码如下

/**
   需求:使用for打印所有1~100之间的数字
   分析:循环
   @author  datura
   @data  20230510  20点20分
   @version V.1.0.1
   问题汇总
*/
public class AllNum{
/**
   需求:主函数--程序入口
   @param args 数组
   @return void
*/
	public static void main(String[] args){
		
		//循环
		for (int i = 1; i <= 100; i++){
			//输出
			System.out.print(i + "  ");
		}

		
	}
	
}

运行结果如下

二:输入素质成绩,机试成绩,笔试成绩,计算并输出总分和平均分,如果三门课成绩有一门小于 60 分则提示需要重新学一遍

//引用scannersao扫描器
import java.util.Scanner;
/**
  需求:输入素质成绩,机试成绩,笔试成绩,计算并输出总分和平均分
               如果三门课成绩有一门小于60分则提示需要重新学一遍
  分析:平均分=素质成绩*0.25+机试成绩*0.5+笔试成绩*0.25
       用if条件语句完成小于六十分重修
  @author  datura
  @version  V 1.0.1
  问题汇总:
*/
public class Grades{
   /**
      需求:主函数--程序入口
      @param  args数组
      @return void
   */
   public static void main(String[] args){

	 //接受来自键盘的数据对象
       Scanner scan=new Scanner(System.in);

	 //提示用户输入数据
       System.out.println("请输入您的素质成绩:");

	 //接收数据
       int num1=scan.nextInt();

	 //提示用户再次输入数据
       System.out.println("请输入您的机试成绩:");

	 //接收数据
	 int num2=scan.nextInt();

	 //提示用户再次输入数据
       System.out.println("请输入您的笔试成绩:");
	   

	 //接受
	 double num3=scan.nextInt();
	 
	 if(num1<=60||num2<=60||num3<=60){
		 //输出结果
		 System.out.println("您的成绩不合格,需重修");
	 }else{
		    //定义变量
	 double data=num1*0.25+num2*0.5+num3*0.25;
	 
	 double sum=num1+num2+num3;
	 
	 //输出结果
	 System.out.println("您的平均成绩为:"+data+"您的总分为:"+sum);
	 
	 //判断
	 }


   }


}

三:有两个正整数 a 和 b,已知 a*b=2048,求 a、b 各为何值时,a+b 的值最小

/**
  需求:a*b=2048
        a、b各为何值时,a+b的值最小  
  分析:当a和b的差值越大时,a+b的值越大;当a和b的差值越小时,a+b的值越小
		a*b=2048,a<b时,a自增,当他们的取余为0时,b除以a再加上a的值比两数相加的和大时,a+b的值越小。
  @author  datura
  @version  V 1.0.1
  问题汇总:
*/
public class Math{
   /**
      需求:主函数--程序入口
      @param  args数组
      @return void
   */
   public static void main(String[] args){
	   
	   //定义变量
	   int a=1;
	   int b=2048;
	   
	   //赋值
	   int x=a;
	   int y=b;
	   
	   //定义变量
	   int sum;
	   
	   //循环
	   for(; a<b; a++){
		   
		   //
		   if(b%a==0){
			   sum= b/a;
			   if((sum + a) < (x + y)){
				   x = a;
				   y = sum;
				}
			}
    }
    System.out.println("a的值为:" + x + " b的值为:" + y);
   }
}

四:用 1、2、3、4 能组成多少无重复数字的三位数

/**
  需求:用1、2、3、4能组成多少无重复数字的三位数
  分析:for循环分别作为三位数的个位;十位;百位
        
  @author  datura
  @version  V 1.0.1
  问题汇总:
*/
public class ThreeDigits{
   /**
      需求:主函数--程序入口
      @param  args数组
      @return void
   */
   public static void main(String[] args){
	   
	   //定义变量
	   int sum = 0;
	   
	   //赋值--个位
	   for (int a = 1; a < 5; a++) {
		   
		   //赋值--十位
		   for (int b = 1; b < 5; b++) {
			   
			   //赋值--百位
				for (int i = 1; i < 5; i++) {
					
					//判断三位数都不相同
					if (a != b && b != i && a != i) {
						
						//计数器自增
						sum++;
						
						//把三个数字合起来
						System.out.println(a * 100 + b * 10 + i);
					}
				}
			}
		}
		//输出结果
		System.out.println("1、2、3、4能组成" + sum + "个无重复数字的三位数");

   }
}