老师,只能用case也太不灵活了吧,如果想对区间操作(如对学生的成绩score根据区间返回优、良、中、差),该怎么操作呢? 用if也不方便,需要括号套括号(如下),要是有if……else if这样的写法就好了。
select *,
if (score >= 90, "优秀",
if (score >= 80, "良好",
if (score >= 60, "一般", "差")
)) as '评价'
from students;
老师,为什么这里声明ArrayList的时候,要用List<>
List<String> list = new ArrayList<>();
好像其他地方也有这样的,用父类来声明,new 子类。
代码:
/** * 获取当前结点的祖先结点 */ public List<E> getForefathers(E item){ //获取当前结点的父结点 E parent = this.getParent(item); //结束递归的边界条件 if (parent == null){ return new ArrayList<>(); } //递归调用,再次获取当前父结点的父结点 List<E> list = this.getForefathers(parent); //将递归到的所有结点元素添加到返回的 list 中 list.add(parent); return list; }
问题一:请问这里的List对象是在第一次运行代码的时候就创建的吗?
//递归调用,再次获取当前父结点的父结点 List<E> list = this.getForefathers(parent);
还是在最后一次递归到根结点时返回的new ArrayList呀?
if (parent == null){ return new ArrayList<>(); }
问题二:如果是在第一次运行就创建的List对象,那么这里每次运行都是这段代码,不会每次递归都创建一个新的List对象吗?
List<E> list = this.getForefathers(parent);
老师,我的项目运行一直都是这个结果,不知道为什么,求指点,这是我项目的源码
MybatisWebDemo.zip
搭建了集群nacos的时候yml文件这么配置对吗?
老师视频2分53秒前后,说到index.jsp的路径,为什么/index.jsp就代表是根目录下的文件,没有看懂什么意思,他不是在web目录下吗?
这也没有放到根目录下啊,中间还有个web目录
还是不太理解这个为啥是这样打印的,第一行递归的时候不是应该到4那里停止了吗?
此时的当前结点不是在4吗?再执行第三行的递归,其中结点值为4的右节点不是为空吗?
怎么返回的?
老师,不知道哪里出了问题
结果是这样
代码都仔细核对了的
为什么把这个写死了,不是有可能不是管理员的后台人员登录吗?那就是member_type了吧?
这个是什么原因呢
想问下下面代码,最后两行颠倒是否会有影响。
先写入磁盘,在换行,那么唯一的区别是,在exit后,这样的写入的最后一行少一行回车吗?
是否还有别的区别呢?
public class Square { public static void main(String[] args) { int width=0; for(;width<10;width++) { for(int length=0;length<10;length++) { System.out.print("*"+" "); if(length==9) { System.out.println(); } } } System.out.println("__________________华丽的分割线_________________"); width=0;//若不重新规定,则不打印?!!! for(;width<10;width++) { for(int length=0;length<10;length++) { if(width==0 | width==9) { System.out.print("*"+" "); }else if(length==0 | length==9){ System.out.print("*"+" "); }else { System.out.print(" "+" "); }if(length==9) { System.out.println(); } } } } } //老师,分割线后我没有重新定义width,第二个循环为什么不会打印?int width=0;不是作用于全局吗?
老师有没有Navicat for MySQL的免费的安装包,我这下载的是需要充钱的
package com.bjxst; public class MyDoublyLinkedList<E> implements MyList<E> { private Node head; private Node tail; private int size; @Override public void add(E element) { this.linkedLast(element); } private void linkedLast(E element){ //首先获取尾部节点 Node t = this.tail; //创建节点对象 Node node1 =new Node(t,null,element); node1=this.tail; if(t==null){ node1 =this.head; }else{ node1 = t.next; } this.size++; } @Override public E get(int index) { //对Index做合法性校验 this.checkIndex(index); //根据节点对象查找位置 Node<E> node = this.getNode(index); return node.item; } private void checkIndex(int index){ if(!(index>=0&&index<this.size)){ throw new IndexOutOfBoundsException("index"+index+"size"+size); } } private Node getNode(int index){ if (index<(this.size>>1)){ Node node = this.head; for (int i=0;i<index;i++){ node = node.next; } return node; }else{ Node node = this.tail; for (int i=this.size-1;i>index;i--){ node = node = node.prev; } return node; } } @Override public int size() { return this.size; } @Override public E remove(int index) { //对index进行合法性校验 this.checkIndex(index); //根据指定位置获取节点对象 Node<E> node = this.getNode(index); //获取节点对象中的元素 E item = node.item; //判断当前节点是否为头节点 if(node.prev ==null){ node.next=this.head; }else{ node.prev.next = node.next; } //判断当前节点是否为尾结点 if(node.next==null){ node.prev = this.tail; }else{ node.next.prev = node.prev; } node.next =null; node.prev= null; node.item =null; this.size--; return item; } //创建节点内部类 class Node<E>{ E item; Node<E> prev; Node<E> next; Node(Node<E> prev,Node<E> next,E item){ this.prev = prev; this.next=next; this.item = item; } } public void addFirst(E element){ this.linkFirst(element); } private void linkFirst(E element){ //获取头结点对象 Node head = this.head; Node node1 = new Node(null,head,element); //将新节点定为头节点 node1 =this.head; if(head==null){ node1 = this.tail; }else{ node1=head.prev; } this.size++; } public void addLast(E element){ this.linkedLast(element); } public static void main(String[] args) { MyList<String> myList = new MyDoublyLinkedList<>(); myList.add("a"); myList.add("b"); myList.add("at"); myList.add("e"); myList.add("e"); System.out.println(myList.remove(3)); } }
老师,为什么t调用join方法,就是主线程和A线程联合了?
麻烦详细点
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637