str.append,strappendegetActioCommand

http://www.itjxue.com  2023-01-23 06:04  来源:未知  点击次数: 

定义一个string str 然后 str.append(参数)参数只能接受哪些类型?

append函数是向string 的后面追加字符或字符串。

(1)向string 的后面加C-string

basic_string append( const value_type* _Ptr );

string s ( "Hello " ); // s=”Hello ”

const char *c = "Out There ";

s.append ( c ); // s=”Hello Out There”

(2)向string 的后面加C-string 的一部分

basic_string append( const value_type* _Ptr, size_type _Count );

string s ( "Hello " ); // s=”Hello ”

const char *c = "Out There ";

s.append ( c , 3 ); // s=”Hello Out”

(3)向string 的后面加string(有两种方法)

basic_string append( const basic_string _Str );

string s1 ( "Hello " ), s2 ( "Wide " ), s3( "World " );

s1.append ( s2 ); // s1=”Hello Wide”

s1 += s3; // s1=”Hello Wide World”

(4)向string 的后面加string 的一部分 ---A

basic_string append( const basic_string _Str, size_type _Off,

size_type _Count );

string s1 ( "Hello " ), s2 ( "Wide World " );

s1.append ( s2 , 5 , 5 ); // s1=”Hello World”

(5)向string 的后面加string 的一部分 ---B

templateclass InputIterator basic_string append(

InputIterator _First, InputIterator _Last );

string str1f ( "Hello " ), str2f ( "Wide World" );

str1f.append ( str2f.begin ( ) + 5 , str2f.end ( ) );

// s1=”Hello World”

(6)向string 的后面加多个字符

basic_string append( size_type _Count, value_type _Ch );

string str1e ( "Hello " );

str1e.append ( 4 , '!' ); // s1=”Hello !!!!”

参考:

什么是字符串追加

一般字符串追加说的都是 StringBuilder,

StringBuilder str = new StringBuilder();

str.Append("abc");

string str1="aa"+"bb";

StringBuilder str = new StringBuilder("aa");

str.Append("bb");

效果一样,但是本质是不一样的。

JAVA中Stringbuilder类的方法是什么?

如果程序对附加字符串的需求很频繁,不建议使用+来进行字符串的串联,而应该使用java.lang.StringBuilder类,从而使效率大大提高。1、append 就是将信息追加到当前 StringBuilder 的结尾,例如:StringBuilder sb=new StringBuilder("abc");sb.append("123");System.out.println(sb);//输出abc1232、Insert 就是将字符串或对象插入到当前 StringBuilder 对象的指定索引处,例如:StringBuilder sb=new StringBuilder("abc");sb.insert(2, "123");

System.out.println(sb);//输出ab123c3、delete 就是删除指定开始索引到结束索引处的字符,作用等同于remove方法,例如:StringBuilder sb=new StringBuilder("abc");sb.delete(0, 1);//删除从索引0到1的字符

System.out.println(sb);//输出bc4、replace 就是替换指定索引处的指定字符,例如:StringBuilder sb=new StringBuilder("abc");sb.replace('b', 'B');

System.out.println(sb);//输出aBc另外,你说的toString是每个继承于Object对象的类都有的方法,作用是将对象转换为显示的字符串,SringBuilder重写了这个方法,返回StringBuilder对象的字符串内容。在使用System.out.println()输出对象时,如果不显示调用toString方法,该方法会被自动调用。

用java回答,求大神解决

public static void main(String[] args) {

System.out.println("欢迎使用智能题目生成系统");

LinkedHashMapString, LinkedHashMapString, String map = new LinkedHashMapString, LinkedHashMapString, String();

LinkedHashMapString, String map2 = new LinkedHashMapString, String();

map2.put("1、一级运算", "");

map2.put("2、二级运算", "");

map2.put("3、混合运算", "");

LinkedHashMapString, String mapfang = new LinkedHashMapString, String();

mapfang.put("1、一元方程式", "");

mapfang.put("2、二元方程式", "");

mapfang.put("3、多元方程式", "");

map.put("1、运算式", map2);

map.put("2、方程式", mapfang);

map.put("0、退出", null);

String firstIn = "";

String senIn = "";

String cnt = "";

boolean status = true;

while (status) {

System.out.println("请选择题型");

for (String key : map.keySet()) {

System.out.println(key);

}

String str = getImport();

if (str.equals("0")) {

status = false;

System.out.println("再见!");

} else {

boolean checkF = false;

String keyS = "";

while (true) {

for (String key : map.keySet()) {

if (key.startsWith(str)) {

checkF = true;

keyS = key;

firstIn = str;

MapString, String maper = map.get(key);

for (String keyer : maper.keySet()) {

System.out.println(keyer);

}

break;

}

}

if (!checkF) {

System.out.println("输入错误,请重新输入");

break;

} else {

boolean checks = false;

String strS = getImport();

for (String keys : map.get(keyS).keySet()) {

if (keys.startsWith(strS)) {

checks = true;

senIn = strS;

while (true) {

System.out.println("请输入生成题目数量");

cnt = getImport();

if (!check(cnt)) {

System.out.println("输入错误,请重新输入");

continue;

} else {

createSubject(firstIn, senIn, Integer.valueOf(cnt));

break;

}

}

}

}

if (!checks) {

System.out.println("输入错误,请重新输入");

continue;

} else {

break;

}

}

}

}

}

}

public static void createSubject(String strf, String strs, int num) {

String[] symbols = { "+", "-", "*", "/" };

int count = getNum(10);

if (strf.equals("1")) {

for (int i = 0; i num; i++) {

StringBuffer str = new StringBuffer("第" + (i + 1) + "题:");

for (int j = 0; j count; j++) {

if (j == count - 1) {

str.append(getNum(99));

} else {

str.append(getNum(99));

if (strs.equals("1")) {

str.append(symbols[getNum(2) - 1]);

} else if (strs.equals("2")) {

str.append(symbols[getNum(2) + 1]);

} else if (strs.equals("3")) {

str.append(symbols[getNum(3) - 1]);

}

}

}

str.append("=?");

System.out.println(str.toString());

}

} else if (strf.equals("2")) {

System.out.println("不想写了??");

} else {

System.out.println("未知题目类型");

}

}

public static int getNum(int max) {

Random random = new Random();

int num = random.nextInt(max) + 1;

return num;

}

public static String getImport() {

Scanner scanner = new Scanner(System.in);

String str = scanner.nextLine();

if (str.length() = 0) {

str = "NULL";

}

return str;

}

public static boolean check(String str) {

Pattern p = Pattern.compile("[0-9]*");

Matcher m = p.matcher(str);

return m.matches();

}

(责任编辑:IT教学网)

更多

相关免费资源文章

推荐免费资源文章