例如,我们可以接受String
类的对象作为以下代码中的输入。你如何为StringBuffer
班做同样的事?
String a = new String();
Scanner in = new Scanner(System.in);
System.out.println("Enter a String");
a=in.nextLine();
答案 0 :(得分:3)
代码:
StringBuffer sbuffer = new StringBuffer();
Scanner input = new Scanner(System.in);
System.out.println("Enter a string");
sbuffer.append(input.nextLine());
会将您的“下一行”添加到StringBuffer
sbuffer。
这是因为input.nextLine()
返回String
,sbuffer.append(...)
接受各种参数,包括String
s。
可以在this Java page找到StringBuffer的文档。
同样,scanner documentation也可用。
这些链接提供了每个类可用的方法列表,以及方法可以采用的参数/参数。 Java文档经常提供用例示例。
从StringBuffer
文档的开头段落:
线程安全,可变的字符序列。字符串缓冲区就像一个String,但可以修改。在任何时间点它都包含一些特定的字符序列,但序列的长度和内容可以通过某些方法调用来改变。
字符串缓冲区可供多个线程使用。这些方法在必要时进行同步,以便任何特定实例上的所有操作都表现得好像它们以某种顺序发生,这与所涉及的每个单独线程所进行的方法调用的顺序一致。
答案 1 :(得分:0)
强烈建议不要使用String string=new String();
。
StringBuffer stringbuffer=new StringBuffer(): //you can use StringBuilder here
Scanner input=new Scanner(System.in);
System.out.println("Enter a String");
stringbuffer.append(input.nextLine());
答案 2 :(得分:0)
试试这个
Scanner sc = new Scanner(System.in);
StringBuffer d=new StringBuffer();
d.insert(0,sc.next());
d.append(sc.next());
stringbuffer
与String
类似,但可以修改。在任何时间点它都包含一些特定的字符序列,但序列的长度和内容可以通过某些方法调用来改变。
Stringbuffers
可供多个线程使用。这些方法在必要时进行同步,以便任何特定实例上的所有操作都表现得好像它们以某种顺序发生,这与所涉及的每个单独线程所进行的方法调用的顺序一致。
通常,如果sb引用StringBuffer
的实例,则sb.append(x)
与sb.insert(sb.length(), x)
具有相同的效果。
答案 3 :(得分:0)
试用此代码
Scanner scanner = new Scanner(System.in);
String a;
System.out.println("Enter a String");
a = scanner.nextLine();
Sytem.out.println("String a value is ::"+a);
答案 4 :(得分:0)
@ Ram,
如果在带有空格分隔符的单行中输入所有输入(Int,Float和String),则输入的String值将分配给String Buffer变量。
以下是我的代码控制台:
1 2 Java 五 6 HackerWorld Java
答案 5 :(得分:0)
import java.io.*;
public class Cutter
{
public static void main(String args[]) throws IOException
{
System.out.println("enter a string");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
StringBuffer strbfr=new StringBuffer(str);
}
}
答案 6 :(得分:0)
//program of revrse a string using string buffer inbuild functions
import java.util.*;
class RevrseByStringBuffer
{
public static void main(String args[])
{
StringBuffer s1 = new StringBuffer();
Scanner scan = new Scanner(System.in);
System.out.println("Enter a String: ");
s1.append(scan.nextLine());
System.out.println("Revrse String is: "+s1.reverse());
}
}
答案 7 :(得分:-1)
Scanner sc=new Scanner(System.in);
String s="HackerWorld";
int i=4;
double d=4.0;
int i2;
double d2;
i2=sc.nextInt();
d2=sc.nextDouble();
StringBuffer s1= new StringBuffer();
s1.append(sc.nextLine());
System.out.println(i+i2);
System.out.println(d+d2);
System.out.println(s+" "+s1);
/*It doesn't take input in buffer string.So i couldn't not able to append two strings.Plz help me to solve this*/
答案 8 :(得分:-1)
String arr;
System.out.println("Enter your word :");
Scanner scan = new Scanner(System.in);
arr= scan.nextLine();
StringBuffer s= new StringBuffer(arr);