A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© psuugdufnm   /  2016-4-11 13:08  /  2122 人查看  /  37 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

额 没看12楼 没想到差不多 啊 感觉不用等于也可以的吧
回复 使用道具 举报
z332406259 发表于 2016-4-11 21:43
赞一个.你的程序还是有bug的,当第一个数字和第二个数字都是一样的并且接下来的数字全部小于这2个数字,最后 ...

你这么强也是来考黑马的?感觉压力很大
回复 使用道具 举报
z332406259 发表于 2016-4-11 18:07
package com.heima.lzm33;

public class Test_3 {

{:2_45:}  大神!!太厉害了
回复 使用道具 举报
木丶子李 发表于 2016-4-11 19:16
第一题不是只用一个for/if吗?

只用一个for, 配合if/else.  貌似可以用多个if/else 呢
回复 使用道具 举报
yy0328 发表于 2016-4-11 20:40
不明觉厉   楼主加油

也是不会才来请教大家的。要学习的还是太多太多
回复 使用道具 举报
梧桐望穹 来自手机 中级黑马 2016-4-12 12:38:12
26#
好厉害的样子,学习了
回复 使用道具 举报
Yoyoqiu 发表于 2016-4-11 21:05
只会第一题
class Test_002 {
        public static void main(String[] args) {

谢谢 悠悠球。 。{:2_45:}
回复 使用道具 举报
z332406259 发表于 2016-4-11 21:31
package com.heima.lzm33;

import java.util.zip.CRC32;

这个 ,,你告诉我答案  ,我也是看不懂了,慢慢学习吧,谢谢您的回答。 等我学到这里,我再回来看这个。
回复 使用道具 举报
各位大神,真是太牛了!莫名的感到压力山大。。
回复 使用道具 举报
先马再看
回复 使用道具 举报
z332406259 发表于 2016-4-11 17:11
package com.heima.lzm33;

/**

//
第一题:给定一个数组,里面是一些数字,请只用一个for循环,找出其中第二大的数字。
所谓第二大的数字是:相当于这个数组逆序排序后,取下标为1的那个数字。
要求:只用1个for循环,配合if/else判断。不要对数组排序。
例如:对于数组 [2, 5, 1, 3, 2], 输出:3
//
大哥,看清楚题目。。。。你犯了三个大错误。1.题目没审清楚,2.需求也没审清楚,3.一楼的代码有错误(13行开始arr少了下标)。
第二大的数字,已经定义了是逆序排序后的下标为1的数字。
还有要求,//不要对数组排序。
其实题目很简单就是求,数组下标为arr.length-2的数字。
代码如下
/*
第一题:给定一个数组,里面是一些数字,请只用一个for循环,找出其中第二大的数字。
所谓第二大的数字是:相当于这个数组逆序排序后,取下标为1的那个数字。
要求:只用1个for循环,配合if/else判断。不要对数组排序。
例如:对于数组 [2, 5, 1, 3, 2], 输出:3 。

需求:
1.定义求数组“第二大“的函数。
2.只用一个for循环,配合if/else判断。
3.不能对数组排序。
思路:  其实就是求arr.length-2的数字
1.定义数组arr
2.逆向遍历数组
3.判断下标是否等于arr.length-2.并输出结果。

*/
class Test6{
        public static void main(String[] args){
                int[] arr1 ={9,5,1,6,7,8,1};   //测试数组1
                int[] arr2 ={2,5,1,3,2};                //测试数组2
                Dierda(arr1);                        //结果:输出8
                Dierda(arr2);                        //结果:输出3
        }
        public static void Dierda(int[] arr){
                 for(int i=arr.length-1;i >= 0 ;i--){        //逆向遍历数组
                         if(i == arr.length-2){                                //判断是否等于arr.length-2
                                 System.out.println(arr);        //输出第二大数字
                                 break;                                                        //结束循环
                         }
                         else{
                                 continue;
                         }
                 }
        }
}
回复 使用道具 举报
psuugdufnm 发表于 2016-4-12 12:38
谢谢 悠悠球。 。

努力加油 未来是我们的
回复 使用道具 举报
psuugdufnm 发表于 2016-4-12 12:38
谢谢 悠悠球。 。

努力加油 未来是我们的
回复 使用道具 举报
psuugdufnm 发表于 2016-4-12 12:38
谢谢 悠悠球。 。

努力加油 未来是我们的
回复 使用道具 举报
本帖最后由 z332406259 于 2016-4-12 17:39 编辑
哦哈哟 发表于 2016-4-12 15:57
//
第一题:给定一个数组,里面是一些数字,请只用一个for循环,找出其中第二大的数字。
所谓第二大的数 ...

谢谢这位学友提出质疑.
首先说一下.arr角标的问题是这个回复的编辑器的问题,刚刚查看已改.请看一下你自己的代码.arr的角标也没有了.
第二,题目要求的是数组逆序排序后下标为1,
不是数组逆序,请自己百度排序的含义.见名知意,该题要求的是第二大的数,按照正常的理解就是这堆数字中第二大的数字,当然它所谓第二大的数字的定义存在瑕疵,当超过两个数字是一样的最大数字时候,显然逆序排序后下标为1的数字是最大的数字,因此忽略这个bug.
第三,需求没审清楚?是指的不要对数组排序这句话么?我并没有对数组进行排序.

这道题如果只是求arr.length-2的数字的话.完全不需要定义这个条件:    不要对数组排序
所以还是需要好好审一下题意.
回复 使用道具 举报
谢谢分享,以后能用到!
回复 使用道具 举报
z332406259 发表于 2016-4-12 17:38
谢谢这位学友提出质疑.
首先说一下.arr角标的问题是这个回复的编辑器的问题,刚刚查看已改.请看一下你自己 ...

看来是我一直误解题意......大哥你是对的!
回复 使用道具 举报
不错,跟着学习
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马