从键盘中输入若干个单词(最少8个),保存在数组中,输出数组中所有元素

从键盘中输入若干个单词(最少8个),保存在数组中,输出数组中所有元素

数组是string数组吗?可以使用循环实现。

代码如下:

参考链接:

Java输入流read()和readline()方法对比分析【实例讲解】_inputstream readline_灰小猿的博客-CSDN博客 目录read()方法读取输入流Readline()方法读取输入流Hello!大家好哇,我是灰小猿,一个超会写bug的程序猿,最近一直在做项目的开发,所以很少有时间来打理博客,今天抽出一点时间来对我在开发中遇到的一些小问题和大家分享一下,在做使用TCP/IP协议进行网络通信时,遇到这样一个问题,就是在同一个局域网中,我作为客户端,以另一台电脑作为服务器进行通信时发现,两者之间可以建立C/S连接,但是对于服务器发送过来的数据,我这边以read()方法来读取字符的输入流的长度时却显示读取失败,_inputstream readline https://blog.csdn.net/weixin_44985880/article/details/109729502


import java.util.Scanner;

public class WordsTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String words[] = new String[100];// 默认最多存储100个字符串
        Scanner sc = new Scanner(System.in);
        // https://blog.csdn.net/weixin_44985880/article/details/109729502
        String temp = sc.nextLine(); // 从输入中获取字符串
        
        int i=0;
        // 如果获取的字符串小于8个,或者输入的不是空行,则循环获取字符串到数组
        while(((temp!=null)&&("".equals(temp)==false))||(i<8)) {  
            // 如果输入的不是空行,则将此字符串添加到string数组
            if((temp!=null)&&("".equals(temp)==false)) { 
                words[i] = temp;
                i++;
            }
            
            // 获取下一个字符串
            temp = sc.nextLine();
            
        }
        
        
        System.out.println("获取的单词为:");
        // 打印结果
        for(int j=0;j<i;j++) {
            System.out.println(words[j]);
        }
    }

}

img

有帮住的话采纳一下

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    String[] words = new String[8]; 

    System.out.print("请输入至少8个单词:");
    for(int i=0; i<words.length; i++) {
      words[i] = scanner.next();
    }

    System.out.println("\n输入的单词为:");
    for(String word : words) {
      System.out.println(word);
    }

  }
}

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    
    // 输入单词的数量
    System.out.print("请输入单词的数量(>=8):");
    int num = scanner.nextInt();
    while(num < 8) {
      System.out.print("数量需要大于等于8,请重新输入:");
      num = scanner.nextInt();
    }
    
    // 创建数组存储单词
    String[] words = new String[num];
    
    // 输入单词存入数组
    System.out.println("请输入" + num + "个单词:");
    for(int i = 0; i < num; i++) {
      words[i] = scanner.next();
    }
    
    // 输出数组中的单词
    System.out.println("您输入的单词为:");
    for(String word : words) {
      System.out.println(word);
    }
    
    scanner.close();
  }
}
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7695130
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:给一个数组,找出数组中最长的连续数列的长度
  • 除此之外, 这篇博客: 在数组中找出和为某值的数对中的 在数组中找出和为某值的数对 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 题目要求:
    给定一个数组和一个数字,找出数组中所有和为数字的数对,并返回总个数。
    思路:
    1、直观的就是直接暴力遍历,找出所有数对然后判断是否符合,时间复杂度为O(n^2)
    2、将数组排序,然后通过两端夹击的方法,当和大于预期值,后面的数字下标向前移动一格,如果小于,则前面的数字下标向前移动一格…
    代码实现:

    import java.util.Arrays;
    
    public class Test {
        public static void main(String[] args) {
            int[] array = {4,9,8,1,3,7,5,0,16,2,15,6,11,15};
            System.out.println(Solution(array,15));
        }
        private static int result = 0 ;
        public static int Solution(int [] array,int sum) {
            Arrays.sort(array);
            int i = 0;
            int j = array.length - 1;
            while(i<j){
                int temp = array[i] + array[j];
                if(temp<sum){
                    i++;
                    continue;
                }else if(temp>sum){
                    j--;
                    continue;
                }else{
                   result++;
                   i++;
                   j--;
                }
            }
    
            return result;
        }
    }
    
  • 您还可以看一下 刘城龙老师的教你快速查找电脑中的文件课程中的 快速按文件内容查找文件的方法小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    从问题描述中并没有明确给出具体的问题或要求,只是提到了一个问题并给出了一些参考资料。因此,在没有更具体的信息或要求的情况下,我无法给出具体的解决方案。如果你能提供更多的详细信息或者更具体的要求,我将尽力给出更好的帮助。