从键盘输入10个字符串   存入数组a中,然后输出这10个字符串中最大字符串和最小字符串。

qq_16431129 2014-06-11 07:14:08
package Test1;
import java.io.*;


public class maxandmin {
public static void main(String args[]) {
String a[]=new String[10];
String max = a[0];
String min =a[0];
for(int i=0;i<10;i++)
{
try{
System.out.println("请输入字符串:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String readline = br.readLine();
a[i]=readline;

if(max.compareTo(a[i])<0){
max=a[i];

}
if(min.compareTo(a[i])>0){
min=a[i];
}

}
catch(NumberFormatException e)
{
System.out.println("字符串格式输入有误,请重新输入。\n");
i--;
}
catch(IOException e){

}

}
System.out.println("最大字符串为:"+max);
System.out.println("最小字符串为:"+min);

}



}
为什么出不来结果呢??输入有问题??
...全文
2241 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Clear_Shine 2014-06-13
  • 打赏
  • 举报
回复
按照你的思路,二楼是个不错的解决方法。
日知己所无 2014-06-12
  • 打赏
  • 举报
回复
按照你原来的思路修改了代码,注释更重要,请参考
package test1; // 请尽早使用IDE书写程序,养成好习惯。包名一般为小写字母

import java.io.*;

public class MaxAndMin { // 类名一般为大写字母开头

    public static void main(String args[]) {
        String a[] = new String[10];
        String max = a[0]; // 执行完max 和 a[0]都为null,即使修改a[0]的值,max还一直是null
        String min = a[0]; // 执行完min 和 a[0]都为null,即使修改a[0]的值,min还一直是null
        for (int i = 0; i < 10; i++) {
            try {
                System.out.println("请输入字符串:");
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                String readline = br.readLine();
                a[i] = readline;

                if (max==null || max.compareTo(a[i]) < 0) { // 使用变量之前,一定要考虑是否需要判断是否为null
                    max = a[i];
                }
                
                if (min==null || min.compareTo(a[i]) > 0) { // 使用变量之前,一定要考虑是否需要判断是否为null
                    min = a[i];
                }

            } catch (NumberFormatException e) {
                System.out.println("字符串格式输入有误,请重新输入。\n");
                i--;
            } catch (IOException e) {

            }

        }
        System.out.println("最大字符串为:" + max);
        System.out.println("最小字符串为:" + min);

    }

}
执行结果:
请输入字符串:
123
请输入字符串:
234
请输入字符串:
345
请输入字符串:
456
请输入字符串:
567
请输入字符串:
678
请输入字符串:
789
请输入字符串:
890
请输入字符串:
901
请输入字符串:
012
最大字符串为:901
最小字符串为:012
tony4geek 2014-06-12
  • 打赏
  • 举报
回复
Arrays.sort 方法。。
S117 2014-06-11
  • 打赏
  • 举报
回复
你读取10个字符后,把数组用Arrays.sort排序,第一个就是最小的,最后一个就是最大的!
满无解 2014-06-11
  • 打赏
  • 举报
回复
import java.io.*; class Test{ public static void main(String args[]) { String max = "a"; String min = "z"; for(int i=0;i<10;i++){ try{ System.out.println("请输入字符串:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String readline = br.readLine(); if(max.compareTo(readline)<0){ max=readline; } if(min.compareTo(readline)>0){ min=readline; } }catch(NumberFormatException e){ System.out.println("字符串格式输入有误,请重新输入。\n"); i--; }catch(IOException e){} } System.out.println("最大字符串为:"+max); System.out.println("最小字符串为:"+min); } } 代码改成这样,也比较整洁,你说呢?
满无解 2014-06-11
  • 打赏
  • 举报
回复
String max = a[0]; String min = a[0]; 这两句改成这样 String max = “”; String min = “”; 要不然会有空指针的,这样改完应该就没问题了,你试试
内容概要:本文档是2025年全国广播电视技术能手竞赛IPTV专业的竞赛内容大纲,旨在指导参赛选手准备比赛。竞赛分为理论和实操两大部分。理论部分涵盖基本知识、基础理论和专业知识,包括法律法规、技术标准、IPTV技术基础、信号传输与分发、网络和数据安全等。实操部分则涉及IPTV系统设备、仪器设备的操作使用和指标测量。具体内容包括IPTV系统架构、传输技术与指标、设备配置及维护、专业技能如测量工具使用、视音频指标测量、直播点播协议分析、播出网络性能测量、网络安全数据分析以及系统故障排查等。 适合人群:从事或有意从事IPTV相关工作的技术人员,尤其是有志于参加全国广播电视技术能手竞赛的专业人士。 使用场景及目标:①帮助参赛选手全面了解并掌握IPTV相关的法规文件和技术标准;②提升选手对IPTV系统架构、传输技术和设备配置的理解;③增强选手在实际操作的测量、分析和故障排查能力;④确保选手能够熟练运用各种测量工具和分析软件进行视音频指标测量和网络安全数据分析。 阅读建议:由于文档内容详尽且专业性强,建议读者在学习过程结合实际案例和操作练习,同时参考相关技术文献,以便更好地理解和掌握竞赛所需的知识和技能。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧