永发信息网

java中提示找不到符号

答案:3  悬赏:0  手机版
解决时间 2021-12-22 16:37
  • 提问者网友:流星是天使的眼泪
  • 2021-12-21 23:59
作业要求输入字符串和字符,并从字符串中删除输入的字符;以下是我做的
import java.util.*;
class lx9
{public static void main(String[] args)
{int i=0,n;
String str=new String("");
System.out.println("请输入字符串");
Scanner reader=new Scanner(System.in);
str=reader.nextLine();
System.out.println(str);
n=str.length();
System.out.println("请输入字符");
Scanner in=new Scanner(System.in);
String st=in.nextLine();
char achar=str.charAt(0);
System.out.println(achar);
String sub="",temp="";
while(i<str.length)
{if(achar==str.charAt[i]){i=i+1;}
else{sub=str.substring(i,i+1);temp=sub+temp;i=i+1;}
}
System.out.println("新字符串为"+temp);
}
}
但是编译时一直显示找不到符号,显示这个

lx9.java:17: 错误: 找不到符号
while(i<str.length)
^
符号: 变量 length
位置: 类型为String的变量 str
lx9.java:18: 错误: 找不到符号
{if(achar==str.charAt[i]){i=i+1;}
^
符号: 变量 charAt
位置: 类型为String的变量 str
2 个错误
查了老半天改了很多次还是这样,求高手解答。
最佳答案
  • 五星知识达人网友:神也偏爱
  • 2021-12-22 01:18
建议改一下,replaceAll 字符串替换 或者replace字符、字符串都行
public class ss {

public static void main(String[] args) {
String str = new String("");
System.out.println("请输入字符串");
Scanner reader = new Scanner(System.in);
str = reader.nextLine();
System.out.println(str);
System.out.println("请输入字符");
Scanner in = new Scanner(System.in);
String st = in.nextLine();
str = str.replaceAll(st, "");
System.out.println("新字符串为" + str);
}
}
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-12-22 02:04
while (i < str.length()) { //这里是方法有小括号 if (achar == str.charAt(i)) { //这里还是小括号,不是方括号
  • 2楼网友:千杯敬自由
  • 2021-12-22 01:40
你这个 tolowercase 方法明显不是 scanner 的方法。你定义了 scanner 的对象 input 也没有读取输入。 改成: import java.util.scanner; public class test_10 { public static void main (string args[]) { system.out.println("输入密钥:"); scanner input = new scanner(system.in); string str = input.next(); system.out.println("输入的密钥为 " + str.tolowercase()); } } ------------------------------------ 你这个提示可能是各种问题,类型错误、拼写错误、语法错误等。 关键是它会告诉你什么地方错了。比如这个,它符号、位置都告诉你了: test_10.java:6: 找不到符号 符号: 方法 tolowercase() 位置: 类 java.util.scanner system.out.println("输入的密钥为 "+input.tolowercase()); ^ 1 错误 那么它就是找不到 tolowercase() 方法。在 input.tolowercase() 那里。找不到说明这个方法不是 input 的。那你就要检查拼写(“tolowercase()”的拼写——符号是什么就检查错误位置的相应符号的拼写)和类型了。首先拼写没有错误,然后一看这个方法应该是 string 的,但是你的 input 是什么?是 scanner。那就不对了。于是发现你还没有读取字符串。最终就改成那样。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯