334,零钱通

思路:

(1) 先完成显示菜单,并可以选择菜单,给出对应提示

(2) 完成零钱通明细,简单的话可以使用String拼接

(3)完成收益入账   完成功能驱动程序员增加新的变化和代码

(4)消费

(5)退出

(6)用户输入4退出时,给出提示"你确定要退出吗?y/n",必须输入正确的y/n,否则循环输入指令,直到输入y或者n

(7)在收益入账和消费时,判断金额是否合理,并给出相应的提示

代码:

package com.extend_.smallchange;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner; public class SmallChangeSys {
public static void main(String[] args) {
//定义相关的变量
boolean loop = true;
Scanner scanner = new Scanner(System.in);
double money = 0;
double balance = 0;
Date date = null;//date是java.util.Date类型,表示日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//可以用于日期格式化
//定义新变量,保存消费的原因
String note = "";
String detail = "------------零钱通明细----------";
int key = 0;
do{
System.out.println("============零钱通菜单===========");
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("请选择(1-4):");
key = scanner.nextInt();
//使用switch分支控制
switch (key)
{
case 1:
System.out.println(detail);
System.out.println();
break;
case 2:
System.out.println("收益入账金额:");
money = scanner.nextDouble();
//找出不正确的金额条件,然后给出提示,直接break,退出菜单
if(money <= 0)
{
System.out.println("收益入账金额 需要 大于 0");
break;
}
balance += money;
date = new Date();//获取当前日期
//拼接收益入账信息到 details
detail += "\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;
date = new Date();
detail += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t" + balance;
break;
case 4:
//用户输入4退出时,给出提示"你确定要退出吗?y/n",必须输入正确的y/n,否则循环输入指令,直到输入y或者n
//(1),定义一个变量choice,接收用户的输入
//(2),使用while + break,来处理接收到的输入时 y或者n
//(3),退出while后,再判断choice是y还是n,就可以决定是否退出
//(4),建议一段代码,完成一个小功能,尽量不要混在一起
String choice = "";
while(true)//要求用户必须输入y/n,否则就一直循环
{
System.out.println("你确定要退出吗?y/n");
choice = scanner.next();
if("y".equals(choice) || "n".equals(choice))
{
break;
}
}
//当用户退出while,进行判断
if(choice.equals("y"))
{
loop = false;
}
break;
default:
System.out.println("选择有误,请重新选择");
} }while(loop);
System.out.println("---------退出了零钱通项目---------");
}
}

运行结果:

341,零钱通OOP版

SmallChangeSysOOP类代码

package com.extend_.smallchange.oop;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner; /**
*该类是完成零钱通的各个功能的类
* 使用OOP(面向对象编程)
* 将各个功能对应一个方法
*/
public class SmallChangeSysOOP {
//定义相关的变量
boolean loop = true;
Scanner scanner = new Scanner(System.in);
double money = 0;
double balance = 0;
Date date = null;//date是java.util.Date类型,表示日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//可以用于日期格式化
//定义新变量,保存消费的原因
String note = "";
String detail = "------------零钱通明细----------";
int key = 0; //先完成显式菜单,并可以选择
public void mainMenu()
{
System.out.println("显示零钱通菜单...");
do{
System.out.println("============选择零钱通菜单===========");
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("请选择(1-4):");
key = scanner.nextInt();
//使用switch分支控制
switch (key)
{
case 1:
this.detail();
System.out.println();
break;
case 2:
this.income();
break;
case 3:
this.pay();
break;
case 4:
this.exit();
break;
default:
System.out.println("选择有误,请重新选择");
} }while(loop);
} //完成零钱通明细
public void detail()
{
System.out.println(detail);
}
//完成收益入账
public void income()
{
System.out.println("收益入账金额:");
money = scanner.nextDouble();
//找出不正确的金额条件,然后给出提示,直接return,退出菜单
if(money <= 0)
{
System.out.println("收益入账金额 需要 大于 0");
return;//退出方法,不再执行后面的代码
}
balance += money;
date = new Date();//获取当前日期
//拼接收益入账信息到 details
detail += "\n收益入账\t+" + money + "\t" + sdf.format(date) + "\t" + balance;
}
//消费
public void pay()
{
System.out.println("消费金额:");
money = scanner.nextDouble();
if(money <= 0 || money > balance)
{
System.out.println("你的消费金额 应该在 0-" + balance);
return;
}
System.out.println("消费说明:");
note = scanner.next();
balance -= money;
date = new Date();
detail += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t" + balance;
}
//退出
public void exit()
{
//用户输入4退出时,给出提示"你确定要退出吗?y/n",必须输入正确的y/n,否则循环输入指令,直到输入y或者n
//(1),定义一个变量choice,接收用户的输入
//(2),使用while + break,来处理接收到的输入时 y或者n
//(3),退出while后,再判断choice是y还是n,就可以决定是否退出
//(4),建议一段代码,完成一个小功能,尽量不要混在一起
String choice = "";
while(true)//要求用户必须输入y/n,否则就一直循环
{
System.out.println("你确定要退出吗?y/n");
choice = scanner.next();
if("y".equals(choice) || "n".equals(choice))
{
break;
}
}
//当用户退出while,进行判断
if(choice.equals("y"))
{
loop = false;
}
}
}

SmallChangeSysApp类代码

package com.extend_.smallchange.oop;
/*
* 这里我们直接调用SmallChangeSysOOP 对象,显示主菜单即可
*/ public class SmallChangeSysApp {
public static void main(String[] args) {
new SmallChangeSysOOP().mainMenu();
}
}

运行结果和334结果一样。

362,房屋出租设计

1,程序框架。

2,House类代码

按Alt + 7可以看到 House类的结构

package com.hspedu.houserent.domain;

/*
* House的对象表示一个房屋信息
* */
public class House {
//编号 房主 电话 地址 月租 状态(未出租/已出租)
private int id;//编号
private String name;//房主
private String phone;//电话
private String address;//地址
private int rent;//月租
private String state;//状态(未出租/已出租)
//构造器和setter,getter
public House(int id, String name, String phone, String address, int rent, String state) {
this.id = id;
this.name = name;
this.phone = phone;
this.address = address;
this.rent = rent;
this.state = state;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getPhone() {
return phone;
} public void setPhone(String phone) {
this.phone = phone;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} public int getRent() {
return rent;
} public void setRent(int rent) {
this.rent = rent;
} public String getState() {
return state;
} public void setState(String state) {
this.state = state;
}
//为了方便的输出对象信息,我们实现toString
//编号 房主 电话 地址 月租 状态(未出租/已出租)
@Override
public String toString() {
return id +
"\t\t" + name +
"\t" + phone +
"\t\t" + address +
"\t" + rent +
"\t" + state ; }
}

3,HouseService类代码

package com.hspedu.houserent.service;

import com.hspedu.houserent.domain.House;

/*
* HouseService.java ----(业务层)
* 定义House[],保存House对象
* 1,响应HouseView的调用
* 2,完成对房屋信息的各种操作(增删改查crud)
* */
public class HouseService {
private House[] houses;//保存House对象
private int houseNums = 1;//记录当前有多少个房屋信息
private int idCounter = 1;//记录当前的id增长到哪个值
//构造器
public HouseService(int size)
{
//new houses
houses = new House[size];//当创建HouseService对象,指定数组大小
//为了配合测试列表信息,这里初始化一个House对象
houses[0] = new House(1,"jack","112","海淀区",2000,"未出租");
} //find方法,返回House对象或者null
public House findById(int findId)
{
//遍历数组
for(int i = 0; i < houseNums; i++)
{
if(findId == houses[i].getId())
{
return houses[i];
}
}
return null;
} //del方法,删除一个房屋信息
public boolean del(int delId)
{
//应当先找到要删除的房屋信息对应的下标
//老韩强调,一定要搞清楚 下标和房屋的编号不是一回事
int index = -1;
for(int i = 0; i < houseNums; i++)
{
if(delId == houses[i].getId())//要删除的房屋(id),是数组下标为i的元素,元素的getId方法和delId对应
{
index = i;//就使用index记录i
}
}
if(index == -1)//说明delId在数组中不存在,没找到
{
return false;
} //如果数组有3个元素,houseNums-1=2,那下面的i+1=3,就刚好把最后一个元素移到前一个位置上去
for(int i = index; i < houseNums - 1; i++)
{
houses[i] = houses[i+1];
}
houses[--houseNums] = null;//把当前存在的房屋信息的最后一个 设置null,先减1,再置空
return true;
} //add方法,添加新对象,返回boolean
public boolean add(House newHouse)
{
//判断是否还可以继续添加(我们暂时不考虑数组扩容的问题)
if(houseNums == houses.length)
{
System.out.println("数组已满,不能再添加了...");
return false;
}
//把newHouse对象加入到,新增加了一个房屋
houses[houseNums++] = newHouse;
//我们程序员需要设计一个id自增长的机制,然后更新newhHouse的id
newHouse.setId(++idCounter);
return true;
}
//list方法,返回houses
public House[] list()
{
return houses;
} }

4,HouseView类代码

package com.hspedu.houserent.view;

import com.hspedu.houserent.domain.House;
import com.hspedu.houserent.service.HouseService;
import com.hspedu.houserent.utils.Utility; /*
* 1,显示界面
* 2,接收用户的输入
* 3,调用HouseService完成对房屋信息的各种操作
* */
public class HouseView {
private boolean loop = true;//控制显示菜单
private char key = ' ';//接收用户选择
private HouseService houseService = new HouseService(10);//设置数组的大小为10 //根据id修改房屋信息
public void update()
{
System.out.println("==============修改房屋信息==============");
System.out.println("请选择待修改房屋编号(-1表示退出)");
int updateId = Utility.readInt();
if(updateId == -1)
{
System.out.println("==============你放弃修改房屋信息==============");
return;
} //根据输入得到updateId,查找对象
//返回的是引用类型[即:就是数组的元素]
//因此老师在后面对house.setXxx(),就会修改HouseService中数组的元素!
House house = houseService.findById(updateId);
if(house == null)
{
System.out.println("==============修改房屋信息编号不存在==============");
return;
}
System.out.print("姓名(" + house.getName() + "):");
String name = Utility.readString(8, "");//这里如果用户直接回车,表示不修改信息,默认""
if(!"".equals(name))//如果输入的name不是空串的话,就修改
{
house.setName(name);
} System.out.print("电话(" + house.getPhone() + "):");
String phone = Utility.readString(12);
if(!"".equals(phone))
{
house.setPhone(phone);
} System.out.print("地址(" + house.getAddress() + "):");
String address = Utility.readString(18);
if(!"".equals(address))
{
house.setAddress(address);
} System.out.print("租金(" + house.getRent() + "):");
int rent = Utility.readInt(-1);
if(rent != -1)
{
house.setRent(rent);
} System.out.print("状态(" + house.getState() + "):");
String state = Utility.readString(3,"");
if(!"".equals(state))
{
house.setAddress(state);
}
System.out.println("==============修改房屋信息成功==============");
}
//根据id查找房屋信息
public void findHouse()
{
System.out.println("==============查找房屋信息==============");
System.out.println("请输入要查找的id:");
int findId = Utility.readInt();
//调用方法
House house = houseService.findById(findId);
if(house != null)
{
System.out.println(house);
}
else
{
System.out.println("==============查找房屋信息id不存在==============");
}
} //完成退出确认
public void exit()
{
//这里我们使用Utility提供方法,完成确认
char c = Utility.readConfirmSelection();
if(c == 'Y')
{
loop = false;
}
}
//编写delHouse() 接收输入的id,调用Service的del方法
public void delHouse()
{
System.out.println("==============删除房屋信息==============");
System.out.println("请输入待删除房屋的编号(-1退出):");
int delId = Utility.readInt();
if(delId == -1)
{
System.out.println("==============放弃删除房屋信息==============");
return;
}
//注意该方法本身就有循环判断的逻辑,必须输出Y/N
char choice = Utility.readConfirmSelection();
if(choice == 'Y')//真的删除
{
if(houseService.del(delId))
{
System.out.println("==============删除房屋信息成功==============");
}
else
{
System.out.println("==============房屋编号不存在,删除失败==============");
}
}
else
{
System.out.println("==============放弃删除房屋信息==============");
}
} //编写addHouse() 接收输入,创建House对象,调用add方法
public void addHouse()
{
System.out.println("==============添加房屋==============");
System.out.println("姓名:");
String name = Utility.readString(8);
System.out.println("电话:");
String phone = Utility.readString(12);
System.out.println("地址:");
String address = Utility.readString(16);
System.out.println("月租:");
int rent = Utility.readInt();
System.out.println("状态:");
String state = Utility.readString(3);
//创建一个新的House对象,注意id是系统分配的
House newHouse = new House(0, name, phone, address, rent, state);
if(houseService.add(newHouse))
{
System.out.println("==============添加房屋成功==============");
}
else
{
System.out.println("==============添加房屋失败==============");
}
}
//编写listHouses()显示房屋列表
public void listHouses()
{
System.out.println("==============房屋出租系统菜单==============");
System.out.println("编号\t\t房主\t\t电话\t\t地址\t\t月租\t\t状态(未出租/已出租)");
House[] houses = houseService.list();//得到所有房屋信息
for(int i = 0; i < houses.length; i++)
{
if(houses[i] == null)
{
break;
}
System.out.println(houses[i]);
}
System.out.println("==============房屋列表显示完毕==============");
}
//显示主菜单
public void mainMenu()
{
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("\t\t\t5 房 屋 列 表");
System.out.println("\t\t\t6 退 出");
System.out.println("请输入你的选择(1-6):");
key = Utility.readChar();//输入一个字符
switch(key){
case '1':
addHouse();
break;
case '2':
findHouse();
break;
case '3':
delHouse();
break;
case '4':
update();
break;
case '5':
listHouses();
break;
case '6':
exit();
break; }
}while(loop);
}
}

5,Utility类代码(工具类,老韩给的)

package com.hspedu.houserent.utils;

/**
工具类的作用:
处理各种情况的用户输入,并且能够按照程序员的需求,得到用户的控制台输入。
*/ import java.util.*;
/** */
public class Utility {
//静态属性。。。
private static Scanner scanner = new Scanner(System.in); /**
* 功能:读取键盘输入的一个菜单选项,值:1——5的范围
* @return 1——5
*/
public static char readMenuSelection() {
char c;
for (; ; ) {
String str = readKeyBoard(1, false);//包含一个字符的字符串
c = str.charAt(0);//将字符串转换成字符char类型
if (c != '1' && c != '2' &&
c != '3' && c != '4' && c != '5') {
System.out.print("选择错误,请重新输入:");
} else break;
}
return c;
} /**
* 功能:读取键盘输入的一个字符
* @return 一个字符
*/
public static char readChar() {
String str = readKeyBoard(1, false);//就是一个字符
return str.charAt(0);
}
/**
* 功能:读取键盘输入的一个字符,如果直接按回车,则返回指定的默认值;否则返回输入的那个字符
* @param defaultValue 指定的默认值
* @return 默认值或输入的字符
*/ public static char readChar(char defaultValue) {
String str = readKeyBoard(1, true);//要么是空字符串,要么是一个字符
return (str.length() == 0) ? defaultValue : str.charAt(0);
} /**
* 功能:读取键盘输入的整型,长度小于2位
* @return 整数
*/
public static int readInt() {
int n;
for (; ; ) {
String str = readKeyBoard(10, false);//一个整数,长度<=10位
try {
n = Integer.parseInt(str);//将字符串转换成整数
break;
} catch (NumberFormatException e) {
System.out.print("数字输入错误,请重新输入:");
}
}
return n;
}
/**
* 功能:读取键盘输入的 整数或默认值,如果直接回车,则返回默认值,否则返回输入的整数
* @param defaultValue 指定的默认值
* @return 整数或默认值
*/
public static int readInt(int defaultValue) {
int n;
for (; ; ) {
String str = readKeyBoard(10, true);
if (str.equals("")) {
return defaultValue;
} //异常处理...
try {
n = Integer.parseInt(str);
break;
} catch (NumberFormatException e) {
System.out.print("数字输入错误,请重新输入:");
}
}
return n;
} /**
* 功能:读取键盘输入的指定长度的字符串
* @param limit 限制的长度
* @return 指定长度的字符串
*/ public static String readString(int limit) {
return readKeyBoard(limit, false);
} /**
* 功能:读取键盘输入的指定长度的字符串或默认值,如果直接回车,返回默认值,否则返回字符串
* @param limit 限制的长度
* @param defaultValue 指定的默认值
* @return 指定长度的字符串
*/ public static String readString(int limit, String defaultValue) {
String str = readKeyBoard(limit, true);
return str.equals("")? defaultValue : str;
} /**
* 功能:读取键盘输入的确认选项,Y或N
* 将小的功能,封装到一个方法中.
* @return Y或N
*/
public static char readConfirmSelection() {
System.out.println("请输入你的选择(Y/N): 请小心选择");
char c;
for (; ; ) {//无限循环
//在这里,将接受到字符,转成了大写字母
//y => Y n=>N
String str = readKeyBoard(1, false).toUpperCase();
c = str.charAt(0);
if (c == 'Y' || c == 'N') {
break;
} else {
System.out.print("选择错误,请重新输入:");
}
}
return c;
} /**
* 功能: 读取一个字符串
* @param limit 读取的长度
* @param blankReturn 如果为true ,表示 可以读空字符串。
* 如果为false表示 不能读空字符串。
*
* 如果输入为空,或者输入大于limit的长度,就会提示重新输入。
* @return
*/
private static String readKeyBoard(int limit, boolean blankReturn) { //定义了字符串
String line = ""; //scanner.hasNextLine() 判断有没有下一行
while (scanner.hasNextLine()) {
line = scanner.nextLine();//读取这一行 //如果line.length=0, 即用户没有输入任何内容,直接回车
if (line.length() == 0) {
if (blankReturn) return line;//如果blankReturn=true,可以返回空串
else continue; //如果blankReturn=false,不接受空串,必须输入内容
} //如果用户输入的内容大于了 limit,就提示重写输入
//如果用户如的内容 >0 <= limit ,我就接受
if (line.length() < 1 || line.length() > limit) {
System.out.print("输入长度(不能大于" + limit + ")错误,请重新输入:");
continue;
}
break;
} return line;
}
}

6,主类 HouseRentApp类代码

package com.hspedu.houserent;

import com.hspedu.houserent.view.HouseView;

public class HouseRentApp {
public static void main(String[] args) {
//创建HouseView对象,并且显示主菜单,是整个程序的入口
new HouseView().mainMenu();
System.out.println("====你退出了房屋出租系统====");
}
}

运行结果(演示部分截图):

java基础的项目的更多相关文章

  1. JAVA基础-----Maven项目的搭建

    Maven项目的搭建 一.前言 maven官网:http://maven.apache.org/, 文章简介:本文章从三个模块来了解Maven,分别是 Maven的基本概念~, Maven项目的安装和 ...

  2. Java基础-新建项目、包和类

    1,新建项目

  3. JAVA基础之项目分包

    个人理解: 项目分层分包适合多人开发合作的,最好一个界面设置一个view,同时注释一定设置好,按照顺序:从前向后进行传递参数,从后向前进行传递返回值来进行判断是否真正的执行了sql语句(可以不返回), ...

  4. java基础小项目练习之1----3天做出飞机大战

    Shoot射击游戏第一天一. 关键问题(理论):1. 简述FlyingObject.Enemy.Award.Airplane.Bee.Bullet.Hero之间的继承与实现关系2. 简述Hero类构造 ...

  5. Java基础学习笔记二十八 管家婆综合项目

    本项目为JAVA基础综合项目,主要包括: 熟练View层.Service层.Dao层之间的方法相互调用操作.熟练dbutils操作数据库表完成增删改查. 项目功能分析 查询账务 多条件组合查询账务 添 ...

  6. 自学转行JAVA,没有项目经历怎么找工作?

    应届生或者是刚参加工作的转行人员都有这样一个疑惑,刚学出来没有工作经验,但是企业又要求你必须要有工作经验,但是刚毕业找不到工作就不可能有工作经验,感觉陷入一个死循环.其实这种情况那些企业是不可能不知道 ...

  7. Java 教程整理:基础、项目全都有

    Java 在编程语言排行榜中一直位列前排,可知 Java 语言的受欢迎程度了. 网上有很多 Java 教程,无论是基础入门还是开发小项目的教程都比比皆是,可是系统的很少,对于Java 学习者来说找到系 ...

  8. Java基础学习总结(70)——开发Java项目常用的工具汇总

    要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...

  9. 【Java基础 项目实例--Bank项目5】Account 和 customer 对象等 继承、多态、方法的重写

    延续 Java基础 项目实例--Bank项目4 实验要求 实验题目 5: 在银行项目中创建 Account 的两个子类:SavingAccount 和 CheckingAccount 实验目的: 继承 ...

  10. JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

随机推荐

  1. 【简写MyBatis】01-简单映射器

    前言 新开一个坑,为了学习一下MyBatis的源码,写代码是次要的,主要为了吸收一下其中的思想和手法. 目的 关联对象接口和映射类的问题,把 DAO 接口使用代理类,包装映射操作. 知识点 动态代理 ...

  2. NC50940 Running Median

    题目链接 题目 题目描述 For this problem, you will write a program that reads in a sequence of 32-bit signed in ...

  3. Android自动化测试框架uiautomator2详解

    1 uiautomator2 简介 ​ uiautomator2 是 一种 Android 自动化测试框架,提供了点击.长按.输入文本.滑动.拖拽.截屏等方法,能够模拟用户的各种动作.用户可以通过控件 ...

  4. java: -source 1.5 中不支持 diamond 运算符

    1.问题说明 平常在用idea编译spring boot多模块项目时,老是无端提示: Error:(107, 55) java: -source 1.5 中不支持 diamond 运算符 (请使用 - ...

  5. [WEB安全] CSRF攻击和防御

    一.什么是CSRF 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或 ...

  6. Nacos搭建单机实例

    Nacos是阿里开源的微服务架构组件,既可以用作服务注册中心,也可用作配置中心. 虽然Nacos的官方文档也有关于如何部署的说明,但是个人觉得不够详细和连续,故本文将阐述在单机环境实际搭建Nacos环 ...

  7. MySQL重新设置auto_increment值

    需求描述 通常,我们都会在数据库表中设置一个自增字段作为主键,该字段的值会随着添加新记录而自增. 同时也必须注意,这个自增字段的值只会一直增加,即使把记录删除了,该自增字段的值也不会变小. 因此,就会 ...

  8. 【Azure 应用程序见解】通过Azure Funciton的门户启用Application Insights后,Application Insights无法收到监控数据

    问题描述 比较早期创建的Azure Funciton服务,近期发现在门户中已经启用了Application Insights功能,但是正确配置Applicaiton Insights后,却无法获取关联 ...

  9. 【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?

    问题描述 根据以下DockerFile文件,创建了一个ASP.NET Core的 helloworld 镜像,通过监听3721端口来接受请求. # 1. 指定编译和发布应用的镜像 FROM mcr.m ...

  10. Java与sql中的字符串表示

    在 Java 中,双引号 "" 用于表示字符串字面量,而单引号 '' 用于表示字符字面量.这意味着在 Java 中,您可以使用双引号来包围包含任意数量字符的字符串,包括零个字符(空 ...