Java学习之基础训练一

来源:互联网 发布:fifa隐藏属性数据库 编辑:程序博客网 时间:2024/05/24 04:09

一、闰年的判断

  • 要求:键盘录入年份,判断是否为闰年。
  • 判断方法:能被4整除,且不能被100整除,或者能被400整除,则为闰年

代码:

import java.util.Scanner;//闰年的判断public class LeapYear {//闰年类    public static void main(String[] args) {//程序主入口        Scanner scan = new Scanner(System.in);//创建键盘录入对象        System.out.println("请输入年份:");//控制台输出提示信息        int year = scan.nextInt();//记录键盘录入的年份        if(year%4==0 && year%100!=0 || year%400==0) {//根据判断条件判断是否为闰年            System.out.println(year+"是闰年");//若判断条件为true则输出这个        }else {            System.out.println(year+"不是闰年");//否则输出这个        }        /*         * 或者使用三目运算符   boolean ? s1 : s2;         * 如果boolean为true,则输出s1,若为false则输出s2         *///      boolean flag = (year%4==0 && year%100!=0) //                     || //                     year%400==0;  //      String str = flag ? year+"是闰年" : year+"不是闰年";//      System.out.println(str);    }}

运行结果:
这里写图片描述

二、柜台收银程序

  • 要求:某顾客购买某商品,要求输入单价、数量以及顾客消费卡里面的余额,超市有优惠活动(满300打9折,满500打8折,否则没优惠),通过计算,算出顾客消费卡余额是否够付款,若够则扣除消费金额并给出提示; 若不够则给出提示欠的金额。
  • 分析:要求输入需用到Scanner;判断是否满足优惠条件需用的if_esle以及if_esle if语句。

代码:

import java.util.Scanner;//柜台收银程序public class Cashier {//类名    public static void main(String[] args) {//主函数        Scanner scan = new Scanner(System.in);//键盘录入        System.out.println("请输入单价:");//提示输入单价        double price = scan.nextDouble();//记录单价        System.out.println("请输入数量:");//提示输入数量        double amount = scan.nextDouble();//记录数量        System.out.println("请输入消费卡余额:");//提示输出消费卡余额        double money = scan.nextDouble();//记录余额        //计算总价(单价*数量)        double totalPrice = price*amount;        if(totalPrice>=300 && totalPrice<500){ //满300            totalPrice*=0.9; //打9折        }else if(totalPrice >= 500) {//满500            totalPrice*=0.8;//打8折        }        if(money>=totalPrice){ //消费卡余额够            double change = money-totalPrice; //计算余额(给的钱-总价)            System.out.println("总价为:"+totalPrice+",余额为:"+change);        }else{ //不够            System.out.println("SORRY!您的消费卡余额不足!,还差"+(totalPrice-money));        }    }}

运行结果:

这里写图片描述

这里写图片描述

三、命令功能解析

  • 要求:输入数字1、2、3显示不同功能。
  • 分析:使用switch_case语句

代码:

import java.util.Scanner;public class CommandBySwitch {//类名    public static void main(String[] args) {//主函数        Scanner scan = new Scanner(System.in);//键盘录入        System.out.println("请选择功能: 1.查询话费  2.修改密码  0.退出");//提示信息        int input = scan.nextInt();//记录键盘录入的数字        //switch_case语句        switch(input){        case 1:            System.out.println("查询话费");//若输入的是1,则输出            break;        case 2:            System.out.println("修改密码");//若输入的是2,则输出            break;        case 0:            System.out.println("欢迎下次再来");//若输入的是0,则输出            break;        default:            System.out.println("输入错误");//若输入其他数,则输出        }    }}

运行结果:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

四、猜数字小游戏

  • 要求:随机生成一个1-1000的整数,让人猜。这里生成的随机数显示出来为了方便验证程序的运行
  • 分析:随机数生成需Math.random()表示随机生成0-1的数,可以通过运算得到1-1000的数;此程序每输入猜的数就需要判断,因此可以使用do_while语句,do语句下通过if判断是否正确。
import java.util.Scanner;//猜数字小游戏public class Guessing {//类名    public static void main(String[] args) {//主函数        Scanner scan = new Scanner(System.in);//键盘录入        int num = (int)(Math.random()*1000+1); //1到1000之内的随机数        System.out.println(num); //显示生成的随机数,以便我们观察程序        int guess;        do{            System.out.println("猜吧!");//提示            guess = scan.nextInt(); //记录输入的数            if(guess==0){//如果输入0,则退出程序                break;            }            if(guess>num){//猜的数大于要猜的数                System.out.println("太大了");//输出提示信息            }else if(guess<num){//猜的数小于要猜的数                System.out.println("太小了");//输出提示信息            }        }while(guess!=num); //如果猜的数不是要猜的数,则进行do,直到猜对了退出do_while语句        if(guess==num){//如果猜对了,给出提示            System.out.println("恭喜你,猜对了!");        }else{//输入0时退出do_while,进入else,输出提示语句            System.out.println("下次再来吧!");        }    }}

运行结果:

这里写图片描述

五、模拟随机加法运算

  • 要求:程序随机给出10道加法题目,答题者输入答案,最后统计成绩,输入-1退出程序。
  • 分析:需要生成随机数Math.random();判断是否正确需if语句;要进行10此运算可用for循环。
import java.util.Scanner;public class Addition {//类名    public static void main(String[] args) {//主函数        Scanner scan = new Scanner(System.in);//键盘录入对象        int score = 0; //用于记分        for(int i=1;i<=10;i++){ //10次            int a = (int)(Math.random()*100); //随机生成0-100的整数,记为加数a            int b = (int)(Math.random()*100); //随机生成0-100的整数,记为加数b            int result = a+b; //计算和,并记录            System.out.println("("+i+")"+a+"+"+b+"=?"); //打印出题目            System.out.println("算吧!");//提示信息            int answer = scan.nextInt(); //玩家答题,输入答案            if(answer==-1){ //判断答案,如果输入-1退出for循环                break;            }            if(answer==result){ //计算对了                System.out.println("答对了");                score += 10; //得10分            }else{//答错了扣5分                score -= 5;                System.out.println("答错了");            }        }        System.out.println("得分为:"+score);//输出成绩    }}

运行结果:

这里写图片描述

总结

  • 这些小程序都是通过基本语句实现的,实现方法有很多种,跟我一样开始学习的java的伙伴们,循环块就可以使用不同的循环来实现。
  • 这些语句其实不难,但当要实现某些简单的功能时,有时却无从下手,我想这可能是理解不够以及训练的较少,代码真的要自己多敲敲。
  • 此外我觉得自己可以想想有没有其他方法,我想这对以后的学习,以及编程的思想有一些帮助吧。
  • 希望在此和跟我一样的人共同进步吧!
原创粉丝点击