请用Java实现对一个字符串按每64个字节分割存入数组中
要求很简单,用Java编写一个控制台程序,实现输入一个字符串,然后对该字符串按每64个字节大小,分割成若干个字符串,存入到另一个字符串数组中。要的就是你的分割算法,分已加...
要求很简单,用Java编写一个控制台程序,实现输入一个字符串,然后对该字符串按每64个字节大小,分割成若干个字符串,存入到另一个字符串数组中。
要的就是你的分割算法,分已加! 展开
要的就是你的分割算法,分已加! 展开
5个回答
展开全部
char 16位,2个字节
那就是截32个数
我这里写了个测试类
public class Test{
public static void main(String[] args) {
String[] arr=new String[100];
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
int num=3;
int count=str.length()/num;
for (int i = 0; i <=count; i++) {
if (str.length()<=num) {
arr[i]=str;
}else {
arr[i]=str.substring(0,num);
str=str.substring(num);
}
}
for (int i = 0; i < 6; i++) {
System.out.println(arr[i]);
}
}
}
把num=3改成num=32就可以了
那就是截32个数
我这里写了个测试类
public class Test{
public static void main(String[] args) {
String[] arr=new String[100];
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
int num=3;
int count=str.length()/num;
for (int i = 0; i <=count; i++) {
if (str.length()<=num) {
arr[i]=str;
}else {
arr[i]=str.substring(0,num);
str=str.substring(num);
}
}
for (int i = 0; i < 6; i++) {
System.out.println(arr[i]);
}
}
}
把num=3改成num=32就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
num=输入字符串%64
int num1 = 0;
for(int i=0 ;i <= num ; i++){
str = 输入字符串.substring(num1,64*i);
num1 = num ;
}
只是取.没有存
int num1 = 0;
for(int i=0 ;i <= num ; i++){
str = 输入字符串.substring(num1,64*i);
num1 = num ;
}
只是取.没有存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class StrUtil {
/**
* @param args
*/
public static void main(String[] args) {
StrUtil strUitl = new StrUtil();
String[] strs = strUitl.splitStr("hetaojojdfasjifjidfdddd", 10);
for(int i=0;i<strs.length;i++){
System.out.println(strs[i]);
}
}
public String[] splitStr(String str,int splitLen){
//记录取了多少个字符
int count = 0;
int length = str.length();
String[] strs = new String[length/splitLen + 1];
int index = 0 ; //记录数组的索引
String temp = "" ;
for(int i=0;i<length;i++){
if(count == splitLen || i == length - 1){
strs[index ++] = temp ;
temp = "";
count = 0;
}
temp += str.charAt(i);
count ++ ;
}
return strs ;
}
}
/**
* @param args
*/
public static void main(String[] args) {
StrUtil strUitl = new StrUtil();
String[] strs = strUitl.splitStr("hetaojojdfasjifjidfdddd", 10);
for(int i=0;i<strs.length;i++){
System.out.println(strs[i]);
}
}
public String[] splitStr(String str,int splitLen){
//记录取了多少个字符
int count = 0;
int length = str.length();
String[] strs = new String[length/splitLen + 1];
int index = 0 ; //记录数组的索引
String temp = "" ;
for(int i=0;i<length;i++){
if(count == splitLen || i == length - 1){
strs[index ++] = temp ;
temp = "";
count = 0;
}
temp += str.charAt(i);
count ++ ;
}
return strs ;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Test3 {
public static void main(String... args){
Scanner scan=new Scanner(System.in);
String s=scan.nextLine();
byte[] bytes=s.getBytes();
ArrayList<String> array=new ArrayList<String>();
int width=64;
for(int i=0;i<bytes.length;i+=width){
int length=bytes.length-i>width?width:bytes.length-i;
byte[] bytes2=new byte[length];
bytes2=Arrays.copyOfRange(bytes, i, i+length);
ByteBuffer bb=ByteBuffer.wrap(bytes2);
CharBuffer cb=Charset.defaultCharset().decode(bb);
array.add(cb.toString());
}
for(String u:array){
System.out.println(u);
}
}
}
程序没问题,绝对64字节
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Test3 {
public static void main(String... args){
Scanner scan=new Scanner(System.in);
String s=scan.nextLine();
byte[] bytes=s.getBytes();
ArrayList<String> array=new ArrayList<String>();
int width=64;
for(int i=0;i<bytes.length;i+=width){
int length=bytes.length-i>width?width:bytes.length-i;
byte[] bytes2=new byte[length];
bytes2=Arrays.copyOfRange(bytes, i, i+length);
ByteBuffer bb=ByteBuffer.wrap(bytes2);
CharBuffer cb=Charset.defaultCharset().decode(bb);
array.add(cb.toString());
}
for(String u:array){
System.out.println(u);
}
}
}
程序没问题,绝对64字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你什么意思,不过如果你想取字符串的话,可以用String a = str.substring(int beginIndex, int endIndex) 的循环来取字符串str的每一个字符串,其中
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询