Java:传入一个字符串并存储它

时间:2016-12-27 20:53:47

标签: java

我如何创建一个具有字符串输入的方法,并输出所有输入其中的字符串,如超级字符串?

例如在主类中:

public static async Task<string> messaging_server() 
{
    string ret;

    using (var messagebus1 = new TinyMessageBus("ExampleChannel"))  
    {

        messagebus1.MessageReceived += (sender, e) => 
        {
            ret = Encoding.UTF8.GetString(e.Message);
            Debug.writeLine(ret);
        };

        while (true)
        {
            //#infinite loop        
        }

    }  

    return ret;
} 
到目前为止,我有=

a= "fido"
b= "rufus"
c= "dog"

superString(a); 
superString(b); 
superString(c); 

System.out.println(superString());  should be "fidorufusdog"

我的代码是我正在为股票模拟器工作的:

public static String superString (String sb) {
    StringBuilder ssb = new StringBuilder(32);
    ssb = ssb.append(sb);
    return ssb.toString();
}

在我的main方法中,在for循环中调用了操作方法506次,我想取所有506 sb字符串并创建所有结果的超级字符串

4 个答案:

答案 0 :(得分:0)

将字符串构建器声明为包含类的静态成员,并仅将其初始化一次

static StringBuilder ssb;
public static String superString (String sb) {
    if(ssb == null)
          ssb = new StringBuilder(32);
    ssb = ssb.append(sb);
    return ssb.toString();
}

答案 1 :(得分:0)

我希望我不要低估问题的深度或者你的问题是错的,但对我而言,这听起来像是在问静态关键字?

class SomeClass {

    static StringBuilder accumulator = new StringBuilder();

    public String superString (String sb) {
        SomeClass.accumulator.append(sb);
        return ssb.toString();
    }

}

这是Java静态关键字的简单用法。由于累加器被声明为静态,因此将有一个变量实例。而这个单个实例将由SomeClass类的实例访问。例如:

SomeClass a;
SomeClass b;

a.superString("aaa");
b.superString("bbb");

// now accumulator.toString() returns "aaabbb"

答案 2 :(得分:0)

对于这种问题,你有两种选择:

  1. 简单:在Java类中创建一个静态变量,并对其进行操作。
  2. 改进:创建一个支持您需求的设计模型。
  3. Ex 1:

    public class Operators {
    
        private static String text ="";
    
        public static String superString(String sb) {        
            if (sb != null) {
                 text = text.concat(sb);
            }
            return text;
        }
    
    }
    

    例2:您可以使用 Collecion 列表字符串。

答案 3 :(得分:0)

这是糟糕的OOP设计。你最好为Stock对象创建一个类,并在toString类中覆盖Stock(或者创建一些其他简单的输出方法)。然后将Stock的每个实例添加到数组中,并调用每个对象的toString(或您定义的其他输出方法)。