如何在Java中获取StringBuffer对象的输入?

时间:2014-11-17 05:11:18

标签: java

例如,我们可以接受String类的对象作为以下代码中的输入。你如何为StringBuffer班做同样的事?

String a = new String();
Scanner in = new Scanner(System.in);
System.out.println("Enter a String");
a=in.nextLine();

9 个答案:

答案 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()返回Stringsbuffer.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());

stringbufferString类似,但可以修改。在任何时间点它都包含一些特定的字符序列,但序列的长度和内容可以通过某些方法调用来改变。 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);