黑马程序员技术交流社区
标题:
奇怪的错误出现在main()函数里面,哪里的问题?
[打印本页]
作者:
Mr.Z.Lee
时间:
2013-11-4 14:11
标题:
奇怪的错误出现在main()函数里面,哪里的问题?
public static void main(String[] args) {
String randstring="kjncxbf'h][[][.h/\[l[jp[.l[";
String t=randstring.substring(5);
System.out.println(t);
}
复制代码
这段代码为何报出以下错误?
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
at com.itheima.add.main(add.java:7)
复制代码
作者:
落木萧萧
时间:
2013-11-4 14:13
本帖最后由 落木萧萧 于 2013-11-4 14:28 编辑
报错里的是一些特殊符号,是不能直接输出的。
比如单引号 ' 要写成 \',双引号要写成\"
复制代码
这叫转义字符,建议楼主看一下百度百科的词条。
作者:
Clare0621
时间:
2013-11-4 14:24
根据提示:你代码输出字符串里面有“\[”连在一起,而 ' \' 是转义符,但与 '[' 连在一起是错误用法(提示说的很清楚),Java才会报出转义符异常,如需使用,在源代码 ' \ '后再加一个 ' \ '即可。
作者:
↘ふ紫铯幽夢
时间:
2013-11-4 15:19
java里面只要写在字符窜里的 \ 都代表转义,比如要用\ 本身,就要写成\\用自己转义一下。
作者:
咸鱼要吃猫
时间:
2013-11-4 15:26
“\[”连在一起 没有被java所识别
如果需要输出的这样的话 需要修改代码成“\\[” 第一个\表示转意
主要是由于防止你需要输出的语句里有java语言中特殊含义的字符混淆
\b 表示退格
\t 表示制表符(TAB)
\n 表示回车
\f
\r 同表示回车
\"表示能单独输出 “
\' 表示能单独输出’
\\表示能单独输出\
作者:
冯国强
时间:
2013-11-4 17:59
这里的错误是关于转义字符,\'才是代表单引号,所以字符串中的单引号应写成\'
作者:
马富林
时间:
2013-11-6 02:29
问题出在\[,这两个符号在一起被认为是转义字符了,
所以系统才提示你如果输入转义字符的话就输入\t,\b等等。
要输入\的话就用\\就好了
作者:
枫儿
时间:
2013-11-6 08:51
不用说,初始化的String肯定是你狂乱敲键盘出来的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2