CodeGym
促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
立即开始学习
  • 全部问题
PeaceLovePang
第 14 级
Warrington
  • 31.05.2020
  • 543次阅读
  • 6个评论

Can I write it this way, please?

有关 任务的问题 最短或最长
Java 语法,  第 7 级,  课程 6
正在讨论

1.创建字符串列表。
2.从键盘添加 10 个字符串。
3.找出列表中较早出现的字符串:最短的或最长的。
如果有多个字符串为最短或最长的字符串,则考虑遇到的第一个此类字符串。
4.显示第 3 步中描述的字符串。应显示一个字符串。

要求:
  • 声明字符串列表变量并立即初始化该变量。
  • 程序应从键盘读取 10 个字符串并将其添加到列表中。
  • 如果最短字符串在最长字符串之前出现,则程序应显示最短字符串。
  • 如果最长字符串在最短字符串之前出现,则程序应显示最长字符串。
package zh.codegym.task.task07.task0712; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; /* 最短或最长 */ public class Solution { public static void main(String[] args) throws Exception { //在此编写你的代码 ArrayList<String> list = new ArrayList<String>(); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int i=0; while(i<10) { String A = reader.readLine(); list.add(A); i++; } int max=list.get(0).length(); for(int j=0;j<list.size();j++) { int K=list.get(j).length(); if(max>=K) { max=K; System.out.println(list.get(j)); break; } if(max<=K) { max=K; System.out.println(list.get(j)); break; } } // System.out.println(max); } }
0
评论 (6)
  • 受欢迎
  • 新
  • 旧
你必须先登录才能发表评论
不愿意透露专业的计算机学生
级别 11
12 九月 2020, 02:59
package zh.codegym.task.task07.task0712; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; /* 最短或最长 */ public class Solution { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); ArrayList<String> str = new ArrayList<>(); String min = ""; String max = ""; for(int i = 0;i < 10; i++){ str.add(reader.readLine()); if(i == 0){ min = str.get(0); max = str.get(0); } if(str.get(i).length() < min.length()) min = str.get(i); if(str.get(i).length() > max.length()) max = str.get(i); } System.out.println(str.get(Math.min(str.indexOf(min), str.indexOf(max)))); } }
0
江江是小白
级别 8 ,Shaoguan,China
18 八月 2020, 19:59
// 我的思路 //第一步先循环写入 //第二步循环找出最长 和 最短 //第三步找到最长和最短分别在第几次找到的 //第四部判断谁先然后提示 //我也是小白 希望对你们有帮助啦哈哈哈 public class Solution { public static void main(String[] args) throws Exception { //在此编写你的代码 int zc = 0; int zd = 100; int zccs = 0; int zdcs = 0; boolean zdkq = true; boolean zckq = true; ArrayList<String> list = new ArrayList<String>(); BufferedReader read = new BufferedReader(new InputStreamReader(System.in)); for (int i = 0 ;i < 10;i++){ list.add(read.readLine()); } for (int o = 0;o < 10;o++){ int leng = list.get(o).length(); if (zc < leng){ zc = leng; // System.out.println(zc); } if (zd > leng){ zd = leng; //System.out.println(zd); } } for(int p = 0;p < 10;p++){ if(zdkq == true){ if(list.get(p).length() == zd){ zdcs = p; //System.out.println("最短在"+zdcs); zdkq = false; } } if(zckq == true){ if(list.get(p).length() == zc){ zccs = p; //System.out.println("最长在"+zccs); zckq = false; } } } System.out.println(zdcs<zccs?list.get(zdcs):list.get(zccs)); } }
+1
hidden #10646198
级别 16
30 七月 2020, 07:32
package zh.codegym.task.task07.task0712;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;

/*
最短或最长
1.创建字符串列表。
2.从键盘添加 10 个字符串。
3.找出列表中较早出现的字符串:最短的或最长的。
如果有多个字符串为最短或最长的字符串,则考虑遇到的第一个此类字符串。
4.显示第 3 步中描述的字符串。应显示一个字符串。

要求:
•	声明字符串列表变量并立即初始化该变量。
•	程序应从键盘读取 10 个字符串并将其添加到列表中。
•	如果最短字符串在最长字符串之前出现,则程序应显示最短字符串。
•	如果最长字符串在最短字符串之前出现,则程序应显示最长字符串。
*/

public class Solution {
    public static void main(String[] args) throws Exception {
        /*
 在此编写你的代码
        为什么要用MAX_VALUE和MIN_VALUE
        要取一个最小值就把他声明成最大值 这样 任意一个数都会比他小 程序的可靠性就会提高
        */
        int minIndex = Integer.MAX_VALUE; //最小坐标
        int longIndex = Integer.MIN_VALUE;//最大坐标
        int StrMinLength = minIndex;
        int strLongLength = longIndex;
        ArrayList<String> list = new ArrayList<>();
      Scanner scan = new Scanner(System.in);
        for (int i = 0; i < 10; i++) {
            list.add(scan.next());
        }

        for (int i = 0; i < list.size()-1; i++) {
            //获取最长字符串下标
            if (list.get(i).length()>strLongLength){
                //记录坐标
                longIndex = i;
                //记录最长长度
                strLongLength = list.get(i).length();
            }
            //获取最短字符串下标
            if (list.get(i).length()<StrMinLength) {
//                记录坐标
                minIndex = i;
                //记录最短长度
                StrMinLength = list.get(i).length();
            }
        }
        //判断谁的下标先出现就输出谁
        if (minIndex < longIndex) System.out.println(list.get(minIndex));
        else System.out.println(list.get(longIndex));
    }
}
0
AE86
级别 20 ,Jinan
15 七月 2020, 13:39
思路: 1.循环读取 2.循环排序获取最短长度 3.循环排序获取最长长度 4.循环列表 判读结果 等于最长或者最短长度的字符串 打印输出!重点 berak;立马结束。 //在此编写你的代码 ArrayList<String> list = new ArrayList<String>(); for(int i=0;i<10;i++){ Scanner sc =new Scanner(System.in); String s =sc.nextLine(); list.add(s); } int s =list.get(0).length();//最短长度 for(int j=1;j<10;j++){ if(list.get(j).length()<s){ s =list.get(j).length(); } } //System.out.println(s); int d =list.get(0).length();//最长长度 for(int w=1;w<10;w++){ if(list.get(w).length()>d){ d =list.get(w).length(); } } //System.out.println(d); for(String n : list){ if(n.length()==s|n.length()==d){ System.out.println(n); break; } }
0
hidden #10646198
级别 16
30 七月 2020, 06:25
10个Scanner对象 除非有需要 不要把new写进循环里
0
AdventurerJohn
级别 18 ,Chengdu,China
9 六月 2020, 01:39
You just compare the size of the two adjacent, not the largest and smallest 你这个只是比较了相邻两个的大小,并不是比较的最大跟最小
0
了解
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • 游戏项目
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 活动
  • Affiliate Program
公司
  • 关于我们
  • 联系方式
  • 评论
  • 新闻发布室
  • CodeGym 教育
  • 常见问题
  • 支持
CodeGym CodeGym 是一个从零开始学习 Java 语言编程的在线课程。本课程是初学者掌握 Java 语言的绝佳方式。它包含 1200 多个可即时验证的任务,以及基本范围内的 Java 基础理论。为了帮助你在教育上取得成功,我们实现了一组激励功能:小测验、编码项目以及有关高效学习和 Java 语言开发人员职业方面的内容。
关注我们
界面语言
程序员不是天生的 © 2023 CodeGym
MastercardVisa
程序员不是天生的 © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.