import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.Arrays
public class NumberSplit {
public StringBuffer getString(String str) {
StringBuffer strbuf = new StringBuffer("t")
boolean flag = true
for (int i = 0i <str.length()i++) {
char c = str.charAt(i)
// 判断是否是数字
if (c >= '0'&&c <= '9') {
// 判断和字符串中的数字是否重复
for (int j = 1j <strbuf.length()j++) {
if (c == strbuf.charAt(j)) {
// 如果重复,标志位数值为false,并跳出循环否则标志位设置为true.
flag = false
break
} else
flag = true
}
// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag) {
strbuf.append(c)
}
}
}
return strbuf
}
public static void main(String args[]) throws Exception {
System.out.println("请输入一段字符串,并以回车结束")
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in))
String str = buf.readLine()
StringBuffer strbuf = new NumberSplit().getString(str)
// 将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray()
// 对字符数组排序
Arrays.sort(c)
// 输出字符数组
for (int i = 0i <strbuf.length()i++) {
System.out.print(c[i])
}
}
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.Arrays
public class NumberSplit {
public StringBuffer getString(String str) {
StringBuffer strbuf = new StringBuffer("t")
boolean flag = true
for (int i = 0i <str.length()i++) {
char c = str.charAt(i)
// 判断是否是数字
if (c >= '0'&&c <= '9') {
// 判断和字符串中的数字是否重复
for (int j = 1j <strbuf.length()j++) {
if (c == strbuf.charAt(j)) {
// 如果重复,标志位数值为false,并跳出循环否则标志位设置为true.
flag = false
break
} else
flag = true
}
// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag) {
strbuf.append(c)
}
}
}
return strbuf
}
public static void main(String args[]) throws Exception {
System.out.println("请输入一段字符串,并以回车结束")
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in))
String str = buf.readLine()
StringBuffer strbuf = new NumberSplit().getString(str)
// 将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray()
// 对字符数组排序
Arrays.sort(c)
// 输出字符数组
for (int i = 0i <strbuf.length()i++) {
System.out.print(c[i])
}
}
java中有很多种方式可以将字符串转为数字,要把字符串正确地转换成数字需输入以下代码:
size_t facebook_uint32_to_str(uint32_t value, char *dst)
{
static const char digits[201] =
"0001020304050607080910111213141516171819"
"2021222324252627282930313233343536373839"
"4041424344454647484950515253545556575859"
"6061626364656667686970717273747576777879"
"8081828384858687888990919293949596979899"
size_t const length = digits10(value)
size_t next = length - 1
while (value >= 100) {
auto const i = (value % 100) * 2
value /= 100
dst[next] = digits[i + 1]
dst[next - 1] = digits[i]
next -= 2
}
// Handle last 1-2 digits
if (value < 10) {
dst[next] = '0' + uint32_t(value)
} else {
auto i = uint32_t(value) * 2
dst[next] = digits[i + 1]
dst[next - 1] = digits[i]
}
return length
}
执行赋值语句a="123"+"456"后,变量a的值是"123456"。
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。通常以双引号内部的整体作为操作对象。字符串的连接运算语句公式为s1+s2+s3+…+sn。因此,"123"和"456"是字符串,a为字符串拼接结果即"123456"。
扩展资料:
字符串是一个特殊的对象,属于引用类型。 在java、C#中,String类对象创建后,字符串一旦初始化就不能更改,因为string类中所有字符串都是常量,数据是无法更改,由于string对象的不可变,所以可以共享。对String类的任何改变,都是返回一个新的String类对象。
String类不可变,对String类的任何改变,都是返回一个新的String类对象。这样的话把String类的引用传递给一个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似。