首页 > 编程语言 >Java基础学习09

Java基础学习09

时间:2023-02-01 16:25:45浏览次数:48  
标签:break Java 09 System 学习 date sdf println out

今天简单做小系统,之前也做过的类似的系统,想重新复习一次逻辑业务(2023-02-01-16:10:49)

这次学到有了一个小的函数

//获取本地时间并将时间格式化,调用sdf.format(date)输出
        Date date=new Date();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM--dd HH:mm");
System.out.printfln(sdf.format(date)//格式输出时间:2023-02--01 16:10
);

 

package JavaLearn.SmallChangeSys;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class SmallChange {
    public static void main(String[] args) {
        boolean loop=true;
        Scanner scanner = new Scanner(System.in);
        String key="";
        String details="======零钱明细========";

        double money=0;
        double balance=0;
        //获取本地时间并将时间格式化,调用sdf.format(date)输出
        Date date=new Date();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM--dd HH:mm");


        String note="";
//do-wwhiel循环使用,设定退出字符变量
        do {
            System.out.println("\n======欢迎使用零钱通========");
            System.out.println("\t\t\t1 零钱明细");
            System.out.println("\t\t\t2 收益入账");
            System.out.println("\t\t\t3 消费");
            System.out.println("\t\t\t4 退出系统");
            System.out.println("请输入选项");
            key=scanner.next();

            switch (key){
                case "1":
                    System.out.println(details);
                    break;


                case "2":
                    System.out.println("请输入收入金额");
                    money=scanner.nextDouble();
                    //判断不符合的条件
                    if(money<=0){
                        System.out.println("入账金额应大于0元");
                        break;
                    }
                    balance+=money;
                    details+="\n收益入账\t+"+money+"\t"+sdf.format(date)+"\t余额:"+balance;
                    break;


                case "3":
                    System.out.println("请输入消费金额");
                    money=scanner.nextDouble();
                    if(money<=0||money>balance){
                        System.out.println("入账金额在0-"+balance);
                        break;
                    }
                    System.out.println("请输入消费说明");
                    note=scanner.next();
                    balance-=money;
                    details+="\n"+note+"\t-"+money+"\t"+sdf.format(date)+"\t余额:"+balance+"元";
                    break;


                case "4":
                    String flag="";

                    //用while限制输出
                    while(true){
                        System.out.println("确认退出:是:y    否:n");
                        flag=scanner.next();
                        if("y".equals(flag)||"n".equals(flag))
                            break;
                    }
                    //判断意愿
                    if("y".equals(flag)){
                        loop=false;
                        break;
                    } else if ("n".equals(flag)) {
                        break;
                    }


                default:
                    System.out.println("输入有误,请重新选择");
            }
        }while(loop);


        System.out.println("已退出-----");



    }
}

 

标签:break,Java,09,System,学习,date,sdf,println,out
From: https://www.cnblogs.com/copyjames/p/17083192.html

相关文章

  • JavaScript之异步编程
    什么是异步异步:Asynchronous,async是与同步synchronous,sync相对的概念。传统单线程编程中,程序的运行是同步的,指程序运行在一个控制流之中运行。而异步的概念就是不保证同......
  • Java并发编程——ReentrantReadWriteLock原理
    一、读写锁有这样一种场景:1、如果对一个共享资源的写操作没有读操作那么频繁,这个时候可以允许多个线程同时读取共享资源;2、但是如果有一个线程想去写这些共享资源,那么其......
  • Java并发编程——StampedLock
    一、StampedLock类简介StampedLock类,在JDK1.8时引入,是对读写锁ReentrantReadWriteLock的增强,该类提供了一些功能,优化了读锁、写锁的访问,同时使读写锁之间可以互相转换,更细......
  • Java并发编程——CountDownLatch
    一、闭锁CountDownLatch一个同步工具类,允许一个或者多个线程一直等待,直到其他线程的操作都执行完成之后再继续往下执行。 使用场景:在一些应用场合中,需要等待某个条件达......
  • Java并发编程——CyclicBarrier
    一、CyclicBarrier循环栅栏CyclicBarrier是java.util.concurrent包下面的一个工具类,字面意思是可循环使用(Cyclic)的屏障(Barrier),通过它可以实现让一组线程到达一个屏障(也可......
  • Java并发编程——Semaphore
    一、SemaphoreSemaphore是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步互斥的量。S......
  • Java并发编程——并发包中锁的AQS通用实现
    一、包结构介绍我们查看下java.util.concurrent.locks包下面,发现主要包含如下类:可以发现ReentrantLock和ReentrantReadWriteLock都是AbstractQueueSynchronizer类。我们......
  • Java并发编程——ArrayBlockingQueue
    一、阻塞队列BlockingQueue在java.util.concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速......
  • Java并发编程——LinkedBlockingQueue
    一、阻塞队列BlockingQueue在java.util.concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速......
  • java/Android获取单个文件的MD5值,解决首位0被省略问题,解决超大文件问题,cmd命令行查看
    code来源:https://betheme.net/news/txtlist_i67135v.html?action=onClickcmd命令行查看文件md5码:certutil-hashfilea.txtmd5,不加后面的md5,查看的默认是sha1码。packag......