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]);
}
}
}
}
为什么forj没有输出,案例:从键盘输入本组学员的人数,和本组学员的姓名,用数组存储姓名,然后再从键盘输入一个姓名,查找它是否在之前的数组中,如果存在,就显示它的下标
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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++; } } } }
稍微魔改了一下,现在大概和你说的功能差不多
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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 公交车和无人机协同运输