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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马小黑 中级黑马   /  2017-2-21 00:33  /  1310 人查看  /  15 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

这两道题怎么做,求答案,求思维,求解释

来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端

15 个回复

正序浏览
三元运算符或者if判断就可以做出来的额
回复 使用道具 举报
冒泡排序,借助临时变量,三个if语句解决
老师应该有发答案吧
回复 使用道具 举报
111111111111111111
回复 使用道具 举报
直接用双目运算符?
回复 使用道具 举报
cy666 初级黑马 2017-2-21 10:29:23
12#
如果只是简单的实现3个数的比大小,而又没有学数组的话,最简单的思路就是两两比,然后用第一个数和后两个数比,得出最大值,再把剩余的两个相互比较得出第二大的值!然后输出!
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
[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[i]=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[i]+" ");
		}
		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("排序后:");
	}

}

回复 使用道具 举报
。。。。这个要是不用排序的话,就冒泡排序。。。多么经典的一道排序题
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
厉害了,一个简单的题目  居然那么长的代码
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
1.创建键盘录入对象 2.创建数组 3.将录入的数据存入数组  4.排序,可用冒泡排序,选择排序,算法自行百度,也可用sort方法
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
[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[i] = Integer.parseInt(string);
            }else{
                i--;
                System.out.println("非int数据,请重新输入...");
            }
        }

        Arrays.sort(arr);

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

        scanner.close();
    }
}
回复 使用道具 举报
俩个for循环
外层循环i等于零,小于数组长度,自增加一,内层循环j等于i+1,j<数组长度,j++,如果数组i小于数组j则交换
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
回复 使用道具 举报
a469517790 发表于 2017-2-21 00:47
学到数组了吗,如果学了那就相当简单了,直接调用sort方法就可以了

数组今天刚学,但没学排序方法之类的,这个是后面学,这个题不是if可以做出来吗,但我逻辑性不好,把自己绕乱了还没做出来
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
学到数组了吗,如果学了那就相当简单了,直接调用sort方法就可以了
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马