java 不能用replace
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 不能用replace相关的知识,希望对你有一定的参考价值。
import java.util.Scanner;
public class justtry
public static void main (String args[])
Scanner sc=new Scanner(System.in);
sc=sc.replace("a","1");
System.out.println(sc);
上面是代码 编译时说
求大神指教错在哪里
菜鸟自学中 零基础 求轻喷
Scanner 是用来读取输入数据的 那要适用replace的话 应该import哪个类呢 麻烦了~
追答恩,另一个回答者回答的更加全面,你可以参考他的呢。
String 类不用import哦
好的~太感谢了 谢谢对菜鸟的耐心~
参考技术B import java.util.Scanner;public class justtry
public static void main(String args[])
Scanner sc = new Scanner(System.in);
String s=sc.toString();
s = s.replace("a", "1");
System.out.println(s);
追问
大神!可以编译了 但是为什么运行出来是这样~
还有哪个toString 是什么啊 真的很菜 看不懂 可以可以麻烦解释一下
toString是不是转化为字符串啊 但是出来真的是一对乱码诶 看不懂了
public class justtry
public static void main(String args[])
Scanner sc = new Scanner(System.in);
String s=sc.nextLine();
s = s.replace("a", "1");
System.out.println(s);
replace 是String类的方法
s是获取键盘输入的字符串
replace("a", "1") 将s中的a替换成1
追问多谢大神!果然解决了!那么我想实现这样的功能的话
。。。前面都不变。。。后面改成
s = s.replaceit();//就是想在这里调用一个类
private void replaceit()
s=s.replace("a", "1");
s=s.replace("b", "1");
求问一下 这样的方法错在哪里啊 多谢大神的耐心 太感谢了~
import java.util.Scanner;
import org.omg.CORBA.OBJ_ADAPTER;
public class justtry
public static void main(String args[])
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
s = replaceit(s);
System.out.println(s);
private static <T extends Object> T replaceit(T s)
try
Method method = String.class.getMethod("replace", new Class[]
java.lang.CharSequence.class, java.lang.CharSequence.class );
s = (T) method.invoke(s, "a", "1");
s = (T) method.invoke(s, "b", "1");
System.out.println("......");
catch (Exception e)
e.printStackTrace();
return s;
本回答被提问者采纳
java中的string类中内容一旦被初始化就不能改变为啥还有replace方法呢?
内容被初始化了但是还有replace方法改变内容 ,怎样解释这种情况啊?多谢
replace虽然没有改变原字符串,但是replace返回了新的字符串。其过程:取原字符串值取出放入内存中,替换生成一个新的字符串,返回新字符串,从而得到了两个字符串。
另:Java中的String类是声明为final的,一旦建立String对象之后它的值的内容是无法修改的,但是StringBuffer类弥补了String类的不足,StringBuffer类的内容可以修改。 参考技术A replace方法并不能改变字符串本身的,只是replace方法能返回一个处理后的字符串而已,例如:
String s="hello";
System.out.println(s.replace("h","H"));
System.out.println(s);
输出结果:
Hello
hello本回答被提问者采纳 参考技术B replace是返回了一个新的字符串,
String aaa = "aaa";
String bbb = aaa.replace("a","b");
后aaa="aaa" ,bbb="bbb" 参考技术C 返回的是一个新的字符串
Returns a new string resulting from replacing all occurrences of
oldChar in this string with newChar
src : return new String(0, len, buf);
以上是关于java 不能用replace的主要内容,如果未能解决你的问题,请参考以下文章
求编个java程序要求:编写一个求大数的阶乘,不能用biginteger,并且使用数组不能浪费,不