使用java 实现字符串转化为字符数组?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner cn=new Scanner(System.in);
int count=cn.nextInt();
int []kk=new int[count];
for(int i=0;i<count;i++)
{
int p=cn.nextInt();
kk[i]=p;
}
for(int i=0;i<kk.length;i++)
System.out.println(kk[i]);
}
}
第二种:
前提是输入: 4(个数 ) 然后是 1 2 3 4 (也就是输入数字),放入kk数组之中,输出1 2 3 4 ,这是另一种思路,作为学习,建议也掌握一下
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner cn=new Scanner(System.in);
int count=cn.nextInt(); //输入个数
String str=""; //我们是将第二行输入的当做字符串来处理的 方法如下:
str=cn.nextLine(); //这个的作用就是吃掉输完数字之后 再输入字符的回车,这个很重要
str=cn.nextLine(); //这个才是用来读入 1 2 3 4 这一行,不是一个一个读入的,是一行
String []k=str.split(" "); //这是用来分割str字符串的 互相分割的条件是 空格
int []kk=new int[k.length]; //这是创建放1 2 3 4的数组
for(int i=0;i<k.length;i++)
kk[i]=Integer.parseInt(k[i]); //这是强制转换成int类型的
for(int i=0;i<kk.length;i++)
System.out.println(kk[i]);
}
}
第三种:
前提是输入: 4(个数 ) 然后是 1 2 3 4 (也就是输入数字),放入kk数组之中,输出1 2 3 4 这次换一个思路,
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner cn=new Scanner(System.in);
int count=cn.nextInt();//输入个数
String str=""; //我们是将第二行输入的当做字符串来处理的 方法如下:
str=cn.nextLine(); //这个的作用就是吃掉输完数字之后 再输入字符的回车,这个很重要
str=cn.nextLine(); //这个才是用来读入 1 2 3 4 这一行,不是一个一个读入的,是一行
int []kk=new int[count];
int r=0;
Scanner s=new Scanner(str);
for(int i=0;i<str.length();i++) //遍历字符串
{
while(s.hasNextInt()) //判断字符串挨个是不是数字的
{
int t=s.nextInt(); //放入kk数组之中
kk[r]=t;
r++;
}
}
for(int j=0;j<kk.length;j++)
System.out.println(kk[j]);
}
}
补充知识:java.将一个字符数组拷贝至另一个字符数组的三种方法
我就废话不多说了,大家还是直接看代码吧~
package normalTest;
import java.util.Arrays;
public class normalTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4};
int[] arr2 = new int[arr.length];
// 第一种方法:循环添加至新数组中
for (int i = 0; i < arr.length; i++) {
arr2[i] = arr[i];
}
System.out.println(Arrays.toString(arr2));
// 第二种方法:使用 System.arraycopy
// System.arraycopy(数据源, 从上面位置开始复制, 目标数组, 从什么位置开始粘贴, 共复制多少个元素)
System.arraycopy(arr, 0, arr2, 0, arr.length);
System.out.println(Arrays.toString(arr2));
// 第三种方法:使用 Arrays.copyOf
// Arrays.copyOf(原始数组, 新数组长度)
arr2 = Arrays.copyOf(arr, arr.length);
System.out.println(Arrays.toString(arr2));
}
}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。