黑马程序员技术交流社区

标题: 问到没有技术含量的题 [打印本页]

作者: 黑马小黑    时间: 2017-2-21 00:33
标题: 问到没有技术含量的题
这两道题怎么做,求答案,求思维,求解释


作者: a469517790    时间: 2017-2-21 00:47
学到数组了吗,如果学了那就相当简单了,直接调用sort方法就可以了

作者: 黑马小黑    时间: 2017-2-21 00:50
a469517790 发表于 2017-2-21 00:47
学到数组了吗,如果学了那就相当简单了,直接调用sort方法就可以了

数组今天刚学,但没学排序方法之类的,这个是后面学,这个题不是if可以做出来吗,但我逻辑性不好,把自己绕乱了还没做出来

作者: yuanpeng    时间: 2017-2-21 01:22
冒泡排序

作者: yuanpeng    时间: 2017-2-21 01:49
俩个for循环
外层循环i等于零,小于数组长度,自增加一,内层循环j等于i+1,j<数组长度,j++,如果数组i小于数组j则交换

作者: 香草芭芙    时间: 2017-2-21 06:14
[Java] 纯文本查看 复制代码
package com.company.demo;

import java.util.Arrays;
import java.util.Scanner;

public class Demo_test00 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第三个整数");
        int[] arr = new int[3];
        for (int i = 0; i < arr.length; i++) {
            
            String string = scanner.nextLine();
            if(string.matches("[0-9]+")){   
                arr = Integer.parseInt(string);
            }else{
                i--;
                System.out.println("非int数据,请重新输入...");
            }
        }

        Arrays.sort(arr);

        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr + " ");
        }
        System.out.println();

        scanner.close();
    }
}

作者: lvshen9    时间: 2017-2-21 07:13
1.创建键盘录入对象 2.创建数组 3.将录入的数据存入数组  4.排序,可用冒泡排序,选择排序,算法自行百度,也可用sort方法

作者: 愤怒的大飞机    时间: 2017-2-21 07:40
选择排序

作者: 首尔街少年    时间: 2017-2-21 09:14
厉害了,一个简单的题目  居然那么长的代码

作者: 烟雨清寒时    时间: 2017-2-21 09:39
。。。。这个要是不用排序的话,就冒泡排序。。。多么经典的一道排序题

作者: lvshen9    时间: 2017-2-21 09:48
[AppleScript] 纯文本查看 复制代码
package myexam;

import java.util.Scanner;

public class Test6 {

        public static void main(String[] args) {
                int[] arr=getArray();
                printArray(arr);
               
                mySort(arr);
                printArray(arr);
        }
        //键盘录入获取数组
        public static int[] getArray() {
                System.out.println("请输入3个整数:");
                //键盘录入
                Scanner s=new Scanner(System.in);
                //创建数组
                int[] arr=new int[3];
               
                for(int i=0;i<arr.length;i++){
                        arr=s.nextInt();
                }
                return arr;
        }
        //打印数组
        public static void printArray(int[] arr){
                //int[] arr=getArray();
                System.out.println("输出:");
                for(int i=0;i<arr.length;i++){
                        System.out.print(arr+" ");
                }
                System.out.println();
                System.out.println("------------");
        }
        //冒泡排序
        public static void mySort(int[] arr){
                for(int x=0;x<arr.length-1;x++){
                        for(int y=0;y<arr.length-1-x;y++){
                                if(arr[y]>arr[y+1]){
                                        int temp=arr[y];
                                        arr[y]=arr[y+1];
                                        arr[y+1]=temp;
                                }
                        }
                }
                System.out.println("排序后:");
        }

}


作者: cy666    时间: 2017-2-21 10:29
如果只是简单的实现3个数的比大小,而又没有学数组的话,最简单的思路就是两两比,然后用第一个数和后两个数比,得出最大值,再把剩余的两个相互比较得出第二大的值!然后输出!

作者: programmer_1    时间: 2017-2-21 13:05
直接用双目运算符?
作者: yourtear    时间: 2017-2-21 21:06
111111111111111111
作者: yeluoxingye    时间: 2017-2-24 08:53
冒泡排序,借助临时变量,三个if语句解决
老师应该有发答案吧
作者: 笑对明天    时间: 2017-2-25 22:10
三元运算符或者if判断就可以做出来的额




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2