我如何创建一个具有字符串输入的方法,并输出所有输入其中的字符串,如超级字符串?
例如在主类中:
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字符串并创建所有结果的超级字符串
答案 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)
对于这种问题,你有两种选择:
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
(或您定义的其他输出方法)。