❶ java中怎么向一个字符串的固定位置插入字符串
java字符串中在特定位置插入另一个字符串方式很多,下面介绍2种:
一,可以采用StringBuffer或者StringBuilder作为中介完成。因为StringBuffer或者StringBuilder中含有插入字符串的方法insert(int offset, String str);参数offset表示插入的位置,str表示需要插入的字符串,该方法返回值便是插入完成的StringBuffer的对象。下面我提供一个例子,代码很简单,不需要多做介绍:
public String (String src, Strin dec, int position){
StringBuffer stringBuffer = new StringBuffer(src);
return stringBuffer.insert(position, dec).toString();
}
二,可以直接使用String的方法:
比如:String s="123214",在3后面插入8可以这样写
s.suistring(0,"2")+"8"输出就是s="123824"了;
❷ java如何将取出的字符串+1
/**
*字符串+1方法,该方法将其结尾的整数+1,适用于任何以整数结尾的字符串,不限格式,不限分隔符。
*@authorzxcvbnmzb
*@paramtestStr要+1的字符串
*@return+1后的字符串
*@
*/
publicstaticStringaddOne(StringtestStr){
String[]strs=testStr.split("[^0-9]");//根据不是数字的字符拆分字符串
StringnumStr=strs[strs.length-1];//取出最后一组数字
if(numStr!=null&&numStr.length()>0){//如果最后一组没有数字(也就是不以数字结尾),抛NumberFormatException异常
intn=numStr.length();//取出字符串的长度
intnum=Integer.parseInt(numStr)+1;//将该数字加一
Stringadded=String.valueOf(num);
n=Math.min(n,added.length());
//拼接字符串
returntestStr.subSequence(0,testStr.length()-n)+added;
}else{
thrownewNumberFormatException();
}
}
原创方法求找BUG,求高手优化,求采纳。
❸ Java中数字转换为字符串,要求转换时尾部0也存在
如果你知道后面是小数点多少位,那就自己拿0补齐。如果是想知道代码里写的尾部其实有多少位0,那就没有办法了,编译的时候这个信息就失去了。真需要这个信息的话,d就应该是String类型,要用到它的值了再用Double.parseDouble(),而不是现在这样反过来。
❹ JAVA怎么对字符串进行左填充呀可以直接用print来实现么比如我想把“1011”填充至32位,前面补0.
可以将字符串转换为整数
int a = Integer.parseInt("1011");
print("%032d",a);
❺ java里面使用string.format如何实现空格右填充
java里面使用string.format实现空格右填充代码如下:
package cn.com.songjy;
import java.text.NumberFormat;
public class NumberFormatTest {
public static void main(String[] args) {
int i = 1;
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
nf.setMaximumIntegerDigits(4);
nf.setMinimumIntegerDigits(4);
System.out.println(nf.format(i));
}
}
public class TestStringFormat {
public static void main(String[] args) {
int youNumber = 1;
String str = String.format("%04d", youNumber);
System.out.println(str); // 0001
}
}
private static final String STR_FORMAT = "0000";
public static String haoAddOne_2(String liuShuiHao){
Integer intHao = Integer.parseInt(liuShuiHao);
intHao++;
DecimalFormat df = new DecimalFormat(STR_FORMAT);
return df.format(intHao);
}
❻ java String.format使用,位不足,从后面补0
String str1="1";
DecimalFormat df=new DecimalFormat("0000");
String str2=df.format(Integer.parseInt(str1));
System.out.println(str2);
例如:
import java.text.*;
class Main
{
public static void main(String[] args)
{
double d=1.23;
DecimalFormat g=new DecimalFormat("0.000000");
System.out.println(g.format(d));
}
}
运行结果1.230000
(6)java字符串补齐扩展阅读:
Java是多线程语言,它提供支持多线程的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。Java的lang包提供一个Thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。
Java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,由C.A.R.Haore开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。
❼ java字符串左填充如何实现
这个可以使用格式化字符串完成。用法参见:Formatter类。
如:
//格式:%[argument_index$][flags][width][.precision]conversion
String result = String.format("%1$20s", "abc");
❽ java :DES算法中的明文有64位,请问这64是代表64个字节(意思是有64个byte类型),还是八个字节
DES是块加密算法,每个块64bit或8个bytes,密钥长56bit或7bytes
java字符串按目标编码转换成字节,然后在每8个字节截取成块。余部不足8个字节时有多种补齐方法标准。常见的补齐方法比如定义在PKCS5/7中的。这些是在自己实现DES才涉及到。
byte a[]="你好".getBytes("GBK");//按GBK目标编码。
//得到a[]后在每8个字节为一块进行编码。比如记录偏移位置a[0],a[8],a[16]
//JavaSE默认有Cipher中有DES实现,不用自己去分了,直接送入a[]
❾ java规定字符串长度,不够补白
String title="ABC公司工资报表(2004年12月)";
String separator="-----------------------------------------------------------------------------------------------------------------------";
String t1="部 门 ";
String t2="人 数";
String t3="基本工资";
String t4="职位工资";
String t5="职称工资";
String t6="工龄工资";
String t7="应付小计";
String t8="保险";
String t9="房积";
String t10="应扣小计";
String t11="所得税";
String t12="合计";
String name="供应科";
Integer i1=4;
Double d1=4800.0;
Double d2=800.0;
Double d3=1200.0;
Double d4=1600.0;
Double d5=18800.0;
Double d6=800.0;
Double d7=1200.0;
Double d8=1880.0;
Double d9=5880.0;
Double d10=12920.0;
/**
----------------------------------------------------------------------------------------------------------
部 门 人 数 基本工资 职位工资 职称工资 工龄工资 应付小计 保险 房积 应扣小计 所得税 合计
----------------------------------------------------------------------------------------------------------
供应科 4 4800 800 1200 1600 18800 800 1200 1880 5880 12920
----------------------------------------------------------------------------------------------------------
市场处 6 7200 1200 1800 2400 28200 1200 1800 2820 8820 19380
----------------------------------------------------------------------------------------------------------
销售处 7 8400 1400 2100 2800 32900 1400 2100 3290 10290 22610
----------------------------------------------------------------------------------------------------------
行政处 4 4800 800 1200 1600 18800 800 1200 1880 5880 12920
合计 25 30400.0 5000.0 7500.0 10000.0 117900.0 5000.0 7500.0 11790.0 36790.0 81110.0
----------------------------------------------------------------------------------------------------------
*/
PrintWriter pw=new PrintWriter("d:/out.txt");
pw.printf("\n\n%60s\n", title);
pw.println("\n"+separator+"\n");
pw.printf("%-7s%-7s%-7s%-7s%-7s%-7s%-7s%-7s%-7s%-7s%-7s%-7s",t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12);
pw.println("\n"+separator+"\n");
pw.printf("%-6s%-8d%-10.0f%-10.0f%-10.0f%-10.0f%-10.0f%-10.0f%-10.0f%-10.0f%-10.0f%-10.0f",name,i1,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10);
pw.println("\n"+separator+"\n");
name="合计";
i1=25;
d1=30400.0;
d2=5000.0;
d3=7500.0;
d4=10000.0;
d5=117900.0;
d6=5000.0;
d7=7500.0;
d8=11790.0;
d9=36790.0;
d10=81110.0;
pw.printf("%-7s%-8d%-10.1f%-10.1f%-10.1f%-10.1f%-10.1f%-10.1f%-10.1f%-10.1f%-10.1f%-10.1f",name,i1,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10);
pw.println("\n"+separator);
pw.close();
❿ java中一些字符串函数的作用
java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
String相关函数
1)substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)
2)concat() 连接两个字符串
例:String s="Welcome to ";
String t=s.concat("AnHui");
3)replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s=”Hello”.replace(’l',’w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
4)trim() 去掉起始和结尾的空格
5)valueOf() 转换为字符串
6)toLowerCase() 转换为小写
7)toUpperCase() 转换为大写
8)length() 取得字符串的长度
例:char chars[]={’a',’b’.’c'};
String s=new String(chars);
int len=s.length();
9)charAt() 截取一个字符
例:char ch;
ch=”abc”.charAt(1);
返回值为’b’
10)getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串开始字符的下标
sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。
target 指定接收字符的数组
targetStart target中开始复制子串的下标值
例:String s=”this is a demo of the getChars method.”;
char buf[]=new char[20];
s.getChars(10,14,buf,0);
11)getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()
例:
String s = “Hello!你好!”;
Java字符串函数
java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
String相关函数
1)substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)
2)concat() 连接两个字符串
例:String s="Welcome to ";
String t=s.concat("AnHui");
3)replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s=”Hello”.replace(’l',’w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
4)trim() 去掉起始和结尾的空格
5)valueOf() 转换为字符串
6)toLowerCase() 转换为小写
7)toUpperCase() 转换为大写
8)length() 取得字符串的长度
例:char chars[]={’a',’b’.’c'};
String s=new String(chars);
int len=s.length();
9)charAt() 截取一个字符
例:char ch;
ch=”abc”.charAt(1);
返回值为’b’
10)getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串开始字符的下标
sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。
target 指定接收字符的数组
targetStart target中开始复制子串的下标值
例:String s=”this is a demo of the getChars method.”;
char buf[]=new char[20];
s.getChars(10,14,buf,0);
11)getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()
例:
String s = “Hello!你好!”;
byte[] bytes = s.getBytes();
12)toCharArray()
例:
String s = “Hello!你好!”;
char[] ss = s.toCharArray();
13)equals()和equalsIgnoreCase() 比较两个字符串
14)regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String
str2,int str2StartIndex,int numChars)
15)startsWith()和endsWith()
startsWith()方法决定是否以特定字符串开始
endWith()方法决定是否以特定字符串结束
16)equals()和==
equals()方法比较字符串对象中的字符
==运算符比较两个对象是否引用同一实例。
例:String s1=”Hello”;
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false
17)compareTo()和compareToIgnoreCase() 比较字符串
18)indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出现的地方。
lastIndexOf() 查找字符或者子串是后一次出现的地方。
19)trim去空格函数
例: String t1 = " abc de ";
System.out.println(t1.trim());// 去掉开头和结尾的空格“abc de”
20)split字符串分割
String y = "abc,de,fg,hi,jk";
String[] y1 = y.split(",");// 截取字符串所有","字符
for (int i = 0; i < y1.length; i++) {
System.out.print(y1[i]);// 输出结果abcdefghijk
}
21)append 添加或插入函数
StringBuffer zz1 = new StringBuffer(z1);// append 插入字符
zz1.append('|').append("hijk").append('/').append("lmn").append("opq");
System.out.println();
System.out.print(zz1);// 输出:abcdefg|hijk/lmnopq
StringBuffer构造函数
StringBuffer定义了三个构造函数:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)
下面是StringBuffer相关的函数:
1)length()和capacity()
一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。
2)ensureCapacity() 设置缓冲区的大小
void ensureCapacity(int capacity)
3)setLength() 设置缓冲区的长度
void setLength(int len)
4)charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)
5)getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
6)append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append(”a=”).append(a).append(”!”).toString();
6)insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
7)index指定将字符串插入到StringBuffer对象中的位置的下标。
8)reverse() 颠倒StringBuffer对象中的字符
StringBuffer reverse()
9)delete()和deleteCharAt() 删除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
10)replace() 替换
StringBuffer replace(int startIndex,int endIndex,String str)
11)substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)