精华内容
下载资源
问答
  • java字符串转字符串数组Java String array is used to hold fixed number of Strings. String array is very common in simple java programs, specially among beginners to java and to test some specific ...

    java字符串转字符串数组

    Java String array is used to hold fixed number of Strings. String array is very common in simple java programs, specially among beginners to java and to test some specific scenarios. Even java main method argument is string array – public static void main(String[] args). So today we will look into different aspects of java string array with example programs.

    Java String数组用于保存固定数量的String。 字符串 数组简单的Java程序中非常常见,特别是在Java初学者和测试某些特定情况的初学者中。 甚至java main方法的参数也是字符串数组– public static void main(String[] args) 。 因此,今天我们将通过示例程序研究java字符串数组的不同方面。

    • Java String array is basically an array of objects.

      Java String数组基本上是对象的数组。
    • There are two ways to declare string array – declaration without size and declare with size.

      声明字符串数组的方法有两种:不声明大小和声明大小。
    • There are two ways to initialize string array – at the time of declaration, populating values after declaration.

      有两种初始化字符串数组的方法-在声明时,在声明后填充值。
    • We can do different kind of processing on string array such as iteration, sorting, searching etc.

      我们可以对字符串数组进行不同类型的处理,例如迭代,排序,搜索等。

    Let’s go over java string array example programs now.

    现在让我们来看一下Java字符串数组示例程序。

    Java字符串数组声明 (Java String Array Declaration)

    Below code snippet shows different ways for string array declaration in java.

    下面的代码片段显示了Java中字符串数组声明的不同方法。

    String[] strArray; //declare without size
    
    String[] strArray1 = new String[3]; //declare with size

    Note that we can also write string array as String strArray[] but above shows way is the standard and recommended way. Also in the above code, strArray is null whereas strArray1 value is [null, null, null].

    请注意,我们也可以将字符串数组编写为String strArray[]但以上所示的方法是标准和推荐的方法。 同样在上面的代码中, strArraynullstrArray1值为[null, null, null]

    Java字符串数组初始化 (Java String Array Initialization)

    Let’s look at different ways to initialize string array in java.

    让我们看看在Java中初始化字符串数组的不同方法。

    //inline initialization
    String[] strArray1 = new String[] {"A","B","C"};
    String[] strArray2 = {"A","B","C"}; 
    
    //initialization after declaration
    String[] strArray3 = new String[3];
    strArray3[0] = "A";
    strArray3[1] = "B";
    strArray3[2] = "C";

    All the three string arrays will have same values. However if you will call equals method on them, it will return false.

    三个字符串数组都将具有相同的值。 但是,如果您将对它们调用equals方法,它将返回false。

    System.out.println(strArray1.equals(strArray2)); // false
    System.out.println(Arrays.toString(strArray1).equals(Arrays.toString(strArray2)));// true

    The reason is that array are Objects and Object class implements equals() method like below.

    原因是数组是Objects,而Object类实现了equals()方法,如下所示。

    public boolean equals(Object obj) {
            return (this == obj);
        }

    Second statement is true because when converted to String, their values are same and String class equals() method implementation check for values. For more details, please check String class API documentation.

    第二条语句是正确的,因为当转换为String时,它们的值是相同的,并且String类equals()方法实现会检查值。 有关更多详细信息,请查看String类API文档。

    遍历Java字符串数组 (Iterating over java string array)

    We can iterate over string array using java for loop or java foreach loop.

    我们可以使用java for循环java foreach循环遍历字符串数组。

    String[] strArray2 = {"A","B","C"}; 
    for (int i = 0; i < strArray2.length; i++) {
    	System.out.print(strArray2[i]);
    }
    
    for (String str : strArray2) {
    	System.out.print(str);
    }

    在字符串数组中搜索字符串 (Search for a String in the String array)

    We can use for loop to search for an string in the array, below is a simple example for that.

    我们可以使用for循环在数组中搜索一个字符串,下面是一个简单的例子。

    package com.journaldev.stringarray;
    
    public class JavaStringArrayExample {
    
    	public static void main(String[] args) {
    		String[] strArray = { "A", "B", "C" };
    		
    		boolean found = false;
    		int index = 0;
    		String s = "B";
    		for (int i = 0; i < strArray.length; i++) {
    			if(s.equals(strArray[i])) {
    				index = i; found = true; break;
    			}
    		}
    		if(found)
    			System.out.println(s +" found at index "+index);
    		else
    			System.out.println(s +" not found in the array");
    		
    	}
    
    }

    Notice the use of break keyword to get out of the loop as soon as we found the string.

    注意,一旦找到字符串,就使用break关键字退出循环。

    Java字符串数组排序 (Java String Array Sorting)

    We can implement our own sorting algorithm, or we can use Arrays class sorting method.

    我们可以实现自己的排序算法,也可以使用Arrays类的排序方法。

    String[] vowels = {"a","i","u","e","o"};
    		
    System.out.println("Before sorting "+Arrays.toString(vowels));
    
    Arrays.sort(vowels);
    		
    System.out.println("After sorting "+Arrays.toString(vowels));

    Output of above code snippet will be:

    上面的代码片段的输出将是:

    Before sorting [a, i, u, e, o]
    After sorting [a, e, i, o, u]

    Note that String implements Comparable interface, so it works for natural sorting. Incase you want to sort by some other way, you can use Arrays.sort() overloaded method by passing a Comparator. Learn about these sorting techniques at Comparable and Comparator in java.

    请注意,String实现了Comparable接口,因此适用于自然排序。 如果要通过其他方式排序,则可以通过传递Comparator来使用Arrays.sort()重载方法。 在Java中的Comparable和Comparator中了解有关这些排序技术的信息。

    将字符串转换为字符串数组 (Convert String to String Array)

    We can convert String to string array using it’s split() method. It’s useful when you get a single string as input with values separated using delimiter character.

    我们可以使用它的split()方法将String转换为字符串数组。 当您获得单个字符串作为输入,并且使用定界符将值分隔开时,这很有用。

    String str = "a,e,i,o,u";
    String[] vowels = str.split(",");
    System.out.println(Arrays.toString(vowels)); //[a, e, i, o, u]

    将字符串数组转换为字符串 (Convert String Array to String)

    We can use Arrays.toString() method to convert String array to String. Note that array doesn’t implement toString() method, so if you will try to get it’s string representation then you will have to rely on Arrays class, or else write your own custom code.

    我们可以使用Arrays.toString()方法将String数组转换为String。 请注意,array不实现toString()方法,因此,如果您尝试获取它的字符串表示形式,则必须依赖Arrays类,或者编写自己的自定义代码。

    String[] vowels = { "a", "e", "i", "o", "u" };
    System.out.println(vowels);
    System.out.println(Arrays.toString(vowels));

    Output will be like below.

    输出将如下所示。

    [Ljava.lang.String;@3d04a311
    [a, e, i, o, u]

    The first output is because of Object class toString() implementation like below.

    第一个输出是由于如下所示的Object类toString()实现。

    public String toString() {
            return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }

    要列出的Java字符串数组 (Java String Array to List)

    We can get a list representation of string array using Arrays.toList() method. Note that this list is backed by the array and any structural modification will result in java.lang.UnsupportedOperationException.

    我们可以使用Arrays.toList()方法获得字符串数组的列表表示形式。 请注意,此列表由数组支持,任何结构修改都会导致java.lang.UnsupportedOperationException

    String[] vowels = { "a", "e", "i", "o", "u", "a", "o" };
    
    List<String> vowelsList = Arrays.asList(vowels);
    System.out.println("vowelsList = "+vowelsList);
    //vowelsList.add("x"); //java.lang.UnsupportedOperationException
    
    vowelsList.set(0, "x"); //allowed because no structural modification
    System.out.println("vowelsList = "+vowelsList);

    That’s all for java string array.

    Java字符串数组就这些了。

    Reference: Arrays Oracle Documentation

    参考: 阵列Oracle文档

    翻译自: https://www.journaldev.com/17809/java-string-array

    java字符串转字符串数组

    展开全文
  • Java字符串数组输入与输出

    千次阅读 2020-08-07 18:53:48
    今天刷题遇到一个坑,老是接收不到字符串数组。即用str[i]=sc.nextLine();这样的方式去接收数组的话,打印的时候总是会少一个。 import java.util.Scanner; public class test { public static void main(String[]...

    今天刷题遇到一个坑,老是接收不到字符串数组。即用str[i]=sc.nextLine();这样的方式去接收数组的话,打印的时候总是会少一个。

    import java.util.Scanner;
    
    public class test {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		String str[] = new String[n];	
    		// mmp字符串数据居然要这么输入第一个值
    //		str[0] = sc.nextLine();
    		for (int i = 0; i < n; i++) {
    			str[i] = sc.nextLine();
    		}		
    		for (int i = 0; i < n; i++) {
    			System.out.println(str[i]);
    		}	
    	}
    }
    

    结果:
    在这里插入图片描述
    输入的正确姿势:

    import java.util.Scanner;
    
    public class test {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		String str[] = new String[n];	
    		// mmp字符串数据居然要这么输入第一个值
    		str[0] = sc.nextLine();
    		for (int i = 0; i < n; i++) {
    		// 如果改成 str[i] = sc.next(); 则不需要上面的步骤
    			str[i] = sc.nextLine();
    		}		
    		for (int i = 0; i < n; i++) {
    			System.out.println(str[i]);
    		}	
    	}
    }
    

    结果:
    在这里插入图片描述

    展开全文
  • java字符串数组实现排序

    千次阅读 2017-10-18 17:35:05
    java字符串数组实现排序
    import java.lang.reflect.Array;
    import java.util.Arrays;
    
    public class Main {
    
        public static void main(String[] args)
        {
            String str="23  43  -54    213 43      -2 45";
            String[] arr=str.split("\\s+");
            int[] arrs=new int[arr.length];
            for(int i=0;i<arr.length;i++)
                arrs[i]=Integer.parseInt(arr[i]);
            Arrays.sort(arrs);
            StringBuilder sb=new StringBuilder();
            StringBuilder sb2=new StringBuilder();
            for(int i=0;i<arrs.length;i++) {
                sb.append(arrs[i]+" ");
                sb2.append(arrs[arr.length-i-1]+" ");
            }
            System.out.println(str);
            System.out.println(sb);
            System.out.println(sb2);
    
        }
    }


    输出结果:


    展开全文
  • Java中char 和数组char[]输出 两例辨析 例1 public class LastLaugh{  public static void main(String[] args){  System.out.print("H"+"a");  System.out.print('H'+'a');  } } 运行结果是Ha169,...

    Java中char 和数组char[]输出 两例辨析

    例1

    public class LastLaugh{
        public static void main(String[] args){
            System.out.print("H"+"a");
            System.out.print('H'+'a');
        }
    }

    运行结果是Ha169,不是HaH

    + 操作符当且仅当它的操作数中至少有一个是String类型时,才会执行字符串连接操作;否则,它执行的就是加法。

    例2

    总结:String.valueOf、StringBuffer.append以及System.out.print中都对char[]数组单独处理,即进行了重载,使之可以输出内容(或者对内容操作处理),而不是地址。

    但是字符串拼接操作没有对char[]数组单独处理,所以它处理的是数组char[]的地址

    public class ABC{
        public static void main(String[] args){
            String letters = "ABC";
            char[] numbers = {'1', '2', '3'};
            System.out.println(letters + " easy as " + numbers);
        }
    }
    程序输出:ABC easy as [C@0472,而不是ABC easy as 123。

    展开全文
  • java字符串数组转List<Integer>

    千次阅读 2019-01-23 11:49:36
    java字符串数组转List 欢迎使用Markdown编辑器 String idsStringList = “1,2,3,4,5”; List idsList = new ArrayList&lt;&gt;(); if(StringUtils.isNotBlank(menuIdStr)){ List idsStringList = Arrays....
  • java键盘输入字符串数组

    千次阅读 2011-12-16 15:12:00
    1 import java.io.*; 2 3 public class InputStrings { 4 public static void main(String[] args) { 5 // TODO Auto-generated method stub 6 BufferedReader br = new BufferedReader...
  • java字符串数组追加新数据

    千次阅读 2019-11-25 10:28:22
    public static void main(String[] args){ String[] s=new String[]{"1","2","3... s = insert(s, "需要追加的字符串数据1", "需要追加的字符串数据2", "需要追加的字符串数据3", "需要追加的字符串数据4"); for ...
  • Java中字符串转换为字符串数组第一种:转换为char类型数组 String str = "Hello World"; char [] chars= str.toCharArray(); System.out.println(chars);输出结果为Hello World第二种:转换为byte //用getBytes ...
  • 例如输入字符串“abc”,输出为“a”,“b”,“c”,“ab”,“ac”,“bc”,“abc”这七种组合方式。求解思路:假设要在长度为len的字符串中求num个字符的组合,可以先从头扫描字符串的第一个字符,对于第一个...
  • System.out.print("LinkedHashSet对字符串数组去重结果(按输入顺序):"); for(String s : data3){ System.out.print(" " + s); }  方法二:用arraylist去重,比较元素在list中是否已存在,不存在则加入...
  • 题目描述•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 输入描述:连续输入字符串(输入2次,每个字符串长度小于100)输出描述:...
  • 今天在看面试题的时候,看到了这样的题。做一遍后记录下来方便再次查阅。如果有更好的答案欢迎大家来解答。码上 ... import java.util.Arrays;... * @description 随机字符串数组求重复数据 * @data: 2020/2/...
  • JAVA_模糊查询_字符串数组

    千次阅读 2019-08-05 15:09:54
    * 模糊查询 字符串数组 并返回 含有 str 的 字符串数组 * @param arr * @param str * @return */ public static String[] filter(String[] arr, String str){ ArrayList<String> list = new ...
  • public String[] split(String ...import java.util.Scanner; public class CaseOne { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); // ...
  • 一、字符串、字符数组和整型数组的创建 1、字符串的创建方法 1.1通过引用字符数组来创建字符串 char a[]={'A','b','c','E'}; String str1=new String(a); System.out.println(str1); 1.2先定义后赋值 ...
  • 字符串数组中最短字符串

    千次阅读 2019-07-05 16:47:25
    给出一个字符串数组, 返回该数组中最短字符串
  • 写出一段算法,用于对字符串数组进行去重,要求尽量简洁 举例: * 输入: * {"cc","dd","aa","cc","gg","dd","ee"} * 输出: * {"cc...
  • 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组
  • Java二维字符串数组

    万次阅读 2015-03-09 14:50:24
    package test2; public class ArrayTwo { public static void main(String[] args) { // TODO Auto-generated method stub String array[][] = new String[3][0]; array[0] = new String[2];...
  • 对于字符串数组的处理,可以使用三维数组 具体的见代码 #include #include #include using namespace std; char map[15][15][15]; char str[105]; int main () { int cas; memset(map, 0, ...
  • •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出...
  • •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: ...
  • 总体思想就是当前字符串找到一个能连接的 就继续找能接上的,最后原字符串数组只剩下一个字符串的时候,一个的首是否等于另一个尾。满足就是环。 从某一个字符串A开始 判断当前 A的末尾字符 与除A外的其他字符头...
  • 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不...
  • OJ题目:•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。public class split { public static String[] splitString(String[] ...
  • 字符串 ... 创建字符向量 通过将字符序列括在单引号中来创建一个字符向量。 chr = 'Hello, world' ...字符向量为 char 类型的 1×n 数组。在计算机编程中,字符串是表示 1×n 字符数组的常用术 语。但...
  • java控制台输入字符数组

    万次阅读 2018-09-02 14:53:51
    import java.util.Scanner; public class myChar { public static void main(String arg[]){ Scanner in = new Scanner(System.in); String[] strings=new String[3]; char[][] chars=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 224,989
精华内容 89,995
关键字:

java输入字符串数组

java 订阅