为什么会这样?非法表达式???这个是按照视频打的
老师好,如如下算法代码问题:
class Solution { public int numDecodings(String s) { if(s== null || s.length() == 0 || s.charAt(0) == '0') return 0; if(s.length()==1) return 1; int len = s.length(); int[] dp = new int[s.length() +1]; dp[len] =1; if(s.charAt(len-1) != '0'){ dp[len-1]=1; } for(int i = len-2 ; i >=0; i--){ if(s.charAt(i) == '0'){ continue; }else{ int ans1 = dp[i+1]; } int ans2=0; int ten = (s.charAt(i) - '0') *10; int one = s.charAt(i+1) -'0'; if((ten+one)<=26){ ans2= dp[i+2]; } dp[i]= ans1+ ans2; } return dp[0]; } }
我的问题是15-17行,
如果把16行放在else中,会报错,显示找不到ans1,
但是如果不在else中写,13行之后的代码改成:
if(s.charAt(i) == '0'){ continue; } int ans1 = dp[i+1]; int ans2=0;
就没有问题,这里我比较疑惑,因为我觉得两种写法应该是一样的。
第一种写法,如果if不满足条件,一定执行else语句,因此,ans1一定被赋值,如果if满足条件,则该次循环全部被跳过,ans1和ans2都不被赋值。
第二种写法,如果if不满足条件,跳出if,直接执行后边的ans1等语句,则ans1一定被赋值,如果if满足条件,该次循环被跳过,ans1和ans2都不被赋值。
所以我没看出来,为什么第一种写法,ans1处会报错。谢谢
怎么我的画线画出来是这样啊,不加paint还是好的,加了之后整个窗体全变黑了,没有线
二分查找如果先排序,那查出来的结果是排序前的,还是排序后的呢?如果是排序后的,那能算麽?
环境变量设置好后每次重启就没了又要重新设置一次是怎么回事
这里的编译错误的原因是什么呢
还有为何下面的shangpin类里面要加上 public int length这句代码
老师,这个标红的this是啥意思
老师,继承和组合可以混合使用吗?
老师,我看的别人的优秀作业,这个地方是不是应该是100呀?如果这个地方是101,那么生成的随机数就有可能是101吧?如果生成101,就不符合题目的要求了
public class TestVariable{ //定义一个测试变量名为TestVariable的class类 public static void main(String[] args){ //调用main函数()方法 int age=18,b=22; //记得要把调用的变量记得初始化; System.out.println(age); //输出变量age的值 b=0; //变量使用前必须初始化; System.out.println(b); //输出变量b的值 int x=0,y=1,z=2; //同时定义多个变量; System.out .println(x); //输出变量x的值; System.out.println(y); //输出变量y的值; System.out.println(z); //输出变量z的值; } }
不敲不知到看起来很简单的代码没想到还是会犯一些低级错位
老师,我刚刚按照视频里的做了一遍 但是不知道为什么没有成功 我在新建path时候发现直接点新建的那个目录里面是有我之前安装过的python的路径 但是我不太懂, 也是直接把视频中打的%JAVA_HOME%\bin; 放到了前面。
然后测试失败。 接着我以为是我过程中哪里复制错误?于是我就把之前新建的JAVA_HOME删除了重新打了一遍,然后在我想要重新编辑path的时候,不小心把原先后面的路径删除了,等我发现的时候,我想再回去编辑时就打不开原先可以打开的path编辑列表,只有一个框
就出现了这样子的,我没办法向之前那样进入编辑页面,这个要怎么办啊老师,可以有办法还原设置吗
老师你好,有2个问题想请教
1、字符串是个类,放在元数据区(方法区),但是后面讲GC的时候,又说了元数据区中在JDK8以后把字符常量,放在了堆里面。所以这里到底字符串 张三和李四到底是在那个区域中存储
2、张三和李四为什么会在Person类中存储?,应该在元数据区中新开辟一个空间来分别存储啊
编译类型的方法 和 运行时类型的方法 在下图代码中分别指哪个?
public class Test {
public static void main(String[ ] args) {
String[ ] ss = { "aa", "bbb", "ccc", "ddd" };
for (String temp : ss) {
System.out.println(temp);
}
执行结果如图7-4所示:
返回的是
aa
bbb
ccc
ddd
问老师,这个是字符型所以直接返回内容了吗? 类型是类的时候,才会返回tostring,地址是吗?
字符串连接符其中一个操作数是字符串另一个操作数可以是浮点数吗?可以是布尔型吗?eg:"hello"+1.2或者"hello"+true
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637