Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从字符串数组返回长度等于输入整数的字符串_Java_Arrays_String_Loops_If Statement - Fatal编程技术网

Java 从字符串数组返回长度等于输入整数的字符串

Java 从字符串数组返回长度等于输入整数的字符串,java,arrays,string,loops,if-statement,Java,Arrays,String,Loops,If Statement,我试图创建一个方法,通过从eleloosp数组到j元素构建一个句子来返回字符串。因此,如果j=3,那么输出将是“一个漂亮的怎么样” 我不想通过执行类似于if(j==3)的操作来硬编码if语句,然后输出这个特定的东西 我该如何做才能接受输入整数,而不是硬编码if语句 公共类TestForEachLoop { 私有字符串[]eleloosp={“How”,“about”,“a”,“nice”,“tea”}; 公共字符串getCF(int j){ for(int i=0;i

我试图创建一个方法,通过从
eleloosp
数组到
j
元素构建一个句子来返回字符串。因此,如果
j=3
,那么输出将是
“一个漂亮的怎么样”

我不想通过执行类似于
if(j==3)
的操作来硬编码if语句,然后输出这个特定的东西

我该如何做才能接受输入整数,而不是硬编码if语句

公共类TestForEachLoop
{
私有字符串[]eleloosp={“How”,“about”,“a”,“nice”,“tea”};
公共字符串getCF(int j){
for(int i=0;i
有很多方法可以做到这一点。通过使用以下函数实现此操作的简明方法:

  • 演示:

    import java.util.Arrays;
    
    public class Main {
        static String[] eleloosp = { "How", "about", "a", "nice", "tea" };
    
        public static void main(String[] args) {
            // Test
            System.out.println(getCF(3));
            System.out.println(getCF(2));
            System.out.println(getCF(8));
        }
    
        public static String getCF(int j) {
            return String.join(" ", Arrays.copyOfRange(eleloosp, 0, Integer.min(j + 1, eleloosp.length)));
        }
    }
    
    How about a nice
    How about a
    How about a nice tea
    
    输出:

    import java.util.Arrays;
    
    public class Main {
        static String[] eleloosp = { "How", "about", "a", "nice", "tea" };
    
        public static void main(String[] args) {
            // Test
            System.out.println(getCF(3));
            System.out.println(getCF(2));
            System.out.println(getCF(8));
        }
    
        public static String getCF(int j) {
            return String.join(" ", Arrays.copyOfRange(eleloosp, 0, Integer.min(j + 1, eleloosp.length)));
        }
    }
    
    How about a nice
    How about a
    How about a nice tea
    

    您只需使用以下代码即可完成此操作:

    public class Main {
        static String[] eleloosp = { "How", "about", "a", "nice", "tea" };
    
        public static void main(String[] args) {
            System.out.println(getCF(2));
            System.out.println(getCF(3));
        }
    
        public static String getCF(int j) {
            String sentence = "";
            assert(j < eleloosp.length);
    
            for(int i = 0; i < j; i++){
               sentence += eleloosp[i] + " ";
            }
    
            return sentence;
        }
    }
    

    如果有人帮你,请告诉我

    为什么值为3会返回一个包含四个元素的字符串?您是否尝试过使用
    StringJoiner
    ?这和数组长度有什么关系?恐怕你的问题目前还不清楚。我想做的是制作一个方法,返回一个字符串,该字符串将包含一个由eleloosp数组到j元素组成的句子。我知道我必须使用if语句,但如何从j中获取输入的数字,并使其等于eleloosp数组,而不必硬编码if语句中的数字。