hellojavab 2021-09-07 13:34 采纳率: 83.3%
浏览 68
已结题

为什么forj没有输出,案例:从键盘输入本组学员的人数,和本组学员的姓名,用数组存储姓名,然后再从键盘输入一个姓名,查找它是否在之前的数组中,如果存在,就显示它的下标


package D3;

import java.util.Scanner;

public class Test10 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("length");
        int lenGth = scanner.nextInt();//数组长度
        String[] ints = new String[lenGth];//存储姓名
        for (int i = 0; i < ints.length; i++) {
            System.out.println("name");
            String name = scanner.next();
            for (int j = i; j < ints.length; j++) {
                if (name == ints[j]) {
                    System.out.println("%%%" + j);
                }
            }
            ints[i] = name;
            for (int j = 0; j < ints.length; j++) {
                System.out.println(ints[j]);
            }
        }

    }
}
  • 写回答

4条回答 默认 最新

  • Pliosauroidea 2021-09-07 13:46
    关注

    我这边跑for j一直输出呀
    你这逻辑似乎有点问题,你每次都是从i之后检测的,也就是说后面输入的部分不会和前面的部分比较,所以一直不会有相等的情况出现,也就是说for i理论上不会有输出

    package com.csdn;
    
    
    import java.util.Objects;
    import java.util.Scanner;
    
    public class q7504016 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("length");
            boolean flag;
            int lenGth = scanner.nextInt();//数组长度
            String[] ints = new String[lenGth];//存储姓名
            System.out.println(ints.length);
            for (int i = 0; i < ints.length; ) {
                System.out.println("name");
                String name = scanner.next();
                flag = true;
                for (int j = 0; j < i; j++) {
                    if (Objects.equals(name, ints[j])) {
                        System.out.println("%%%" + j);
                        flag = false;
                    }
                }
                if (flag) {
                    ints[i] = name;
                    for (String anInt : ints) {
                        System.out.println(anInt);
                    }
                    i++;
                }
            }
        }
    }
    

    稍微魔改了一下,现在大概和你说的功能差不多

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日
  • 创建了问题 9月7日

悬赏问题

  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输