TEL:400-8793-956
当前位置:程序、服务器

Java数组中的最小值

提问者: 近期获赞: 浏览人数: 发布时间:2021-03-14 08:21:57

 问:该程序需要从数组中查找并打印一个最小值。我在哪里犯错了?它输出0而不是实际值:

 
  公共 静态 无效 主(字符串[]  ARGS ) {     
扫描仪输入=新扫描仪(系统。在); 系统。出来。println (“输入数字” ); int n =输入。nextInt (); double a [] =新的double [ n ];double min = a [ 0 ]; 为(             
 
     int  i = 0 ; 我< n ; 我++){
系统。出来。println (“输入数字” ); a [ i ] =输入。nextDouble (); 如果(a [ i ] < min )min = a [ i ];}系统。出来。println (“最小值是” + min ); } }         
 
 
答:这似乎可以解决问题:
 
    公共 静态 无效 主(字符串[]  ARGS ){
扫描仪SC =新扫描仪(系统。在); 系统。出来。printf (“输入您的第一个数字:” ); 字符串响应= sc 。nextLine (); int currentLowest =整数。parseInt (response ); 而(!响应。等于(
 
        的“x” )) {
如果(整数。parseInt函数(响应)< currentLowest ){ currentLowest =整数。parseInt (response ); }系统。出来。printf (“输入另一个数字或'x'退出:” ); 响应= sc 。nextLine (); }系统。出来。printf (“输入的最低数字是%s” ,currentLowest              
 
         ); 
}    
在这里,我们设置Scanner,输出提示并读入一个String,将其分配给response。然后将其解析为整数并存储在currentLowest变量中-输入的第一个数字必须是当前的最低数字。
 
然后,我们进入一个while循环,该循环正在寻找转义字符“ x”以停止循环。将currentLowest再次与现有的输入相比(没有尚未改变了这里)和代码移到提示另一个号码,读取作为一个String进入response。循环复位,测试这是否response是转义字符;否则,返回0 。如果是的话就停下来。如果不是,则将输入的数字与先前的最低数字进行比较,并将两个数值中的较低者存储在中currentLowest。重复此过程,直到用户输入“ x”字符为止。
 
输入“ x”后,将currentLowest输出该值。
上一篇: 通过组合两个字符串“ Tree”和“ house”来创建一个名为treehouse的变量
下一篇: 访问“ /”测试以了解我在首页上失败的时间,并显示以下错误消息“没有路由匹配[GET]“ /””