在java中怎么比较三个整数大小例如(a , b, c);并从小到大输出

如题所述

用冒泡排序,对三个数字按照由小到大进行排序。以23、11、17为例,代码如下:

import java.util.Scanner;

public class woo {

static int[] bubbleSort(int[] date) {

boolean isSwap;

for(int j = 1; j < date.length; j++) {

isSwap = false;

for(int i = 0; i < date.length - j; i++) {

if(date[i] > date[i+1]) {

date[i] = date[i] ^ date[i+1];

date[i+1] = date[i] ^ date[i+1];

date[i] = date[i] ^ date[i+1];

isSwap = true;

}

}

if(isSwap == false) 

break;

}

return date;

}

public static void main(String args[]) {

int date[] = new int[3];

System.out.println("输入三个整数:");

Scanner num = new Scanner(System.in);

for(int i = 0;i < date.length; i++)

date[i] = num.nextInt();

date = bubbleSort(date);

for(int count = 0; count < date.length; count++) 

System.out.print(date[count] +"\t");

System.out.println("");

}

}

扩展资料

通常排序算法,可以分为两大类。

非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。包括交换排序、插入排序、选择排序、归并排序。

线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。包括计数排序、桶排序、计数排序。

参考资料:冒泡法排序——百度百科

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-11-13

package work;

import java.util.Scanner;//导包,获取键盘输入

/**

* 键盘输入A、B、C三个值,按从大到小顺序输出。

**/

public class Demo01 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("输入数字a");

int a = sc.nextInt();

System.out.println("输入数字b");

int b = sc.nextInt();

System.out.println("输入数字c");

int c = sc.nextInt();

if (c < a && c < b && b < a) {// 通过比较c<a c<b b<a

System.out.println("一号a:" + a+"\n二号b:" + b+"\n三号c:" + c);

} else if (c < a && b < c && b < a) {

System.out.println("一号a:" + a+"\n二号c:" + c+"\n三号b:" + b);

} else if (c < a && c < b && a < b) {

System.out.println("一号b:" + b+"\n二号a:" + a+"\n三号c:" + c);

} else if (a < c && a < b && c < b) {

System.out.println("一号b:" + b+"\n二号c:" + c+"\n三号a:" + a);

} else if (a < b && a < c && b < c) {

System.out.println("一号c:" + c+"\n二号b:" + b+"\n三号a:" + a);

} else if (b < a && b < c && a < c) {

System.out.println("一号c:" + c+"\n二号a:" + a+"\n三号b:" + b);

}

}

}

解题思路:

可以用if else if语句判断,通过else if多次判断来输出。

假设C<A  且 C<B  且 B<A   则从大到小输出为 A , B , C ,用代码表示为:

if (c < a && c < b && b < a){

System.out.println("老大" + a,"老二"+b+"老三"+c);

} else if(比较条件){ }

按这个思路一一判断过去,得出A B C 三个值的大小。

扩展资料

java中三个整数排列的其他解法

import java.util.Scanner;

public class lianxi34 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

System.out.println("输入3个整数:");

int a = s.nextInt();

int b = s.nextInt();

int c = s.nextInt();

if(a < b) {

int  t = a;

a = b;

b = t;

}

if(a < c) {

int t = a;

a = c; 

c = t;

}  

if(b < c) { 

int t = b; 

b = c;  

c = t; 

System.out.println("从大到小的顺序输出:");

System.out.println(a + " " + b + " " + c);}}

本回答被网友采纳
第2个回答  推荐于2017-10-14
import java.util.*;
public class Exercise06
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in); //利用键盘输入功能
System.out.print("a=");
int a = input.nextInt() ; //输入数字a 只能为int类型
System.out.print("b=");
int b = input.nextInt() ;
System.out.print("c=");
int c = input.nextInt() ;
Exercise06 e = new Exercise06() ;
e.sort(a,b,c);
}
void sort(int a,int b,int c)
{
int temp = 0 ;
if(a>b){
temp = a;
a = b ;
b = temp ;
}
if(a>c){
temp = a;
a = c ;
c = temp ;
}
if(b>c){
temp = b;
b = c ;
c = temp ;
}
System.out.println(a+","+b+","+c);
}
}

不过我还是建议你多用一楼的方法本回答被提问者采纳
第3个回答  2012-06-30
class Test4
{
public static void main(String[] args)
{
int[] arr={1,4,2};//定义数组。
Sort s=new Sort();
s.sort(arr);
s.print(arr);
}
}
class Sort//定义方法排序数组。
{
void sort(int[] a)
{
for (int i=0;i<a.length-1 ;i++ )
{
for (int j=i+1;j<a.length;j++ )
{
if (a[i]>a[j])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
//定义方法打印。
void print(int[] a)
{
System.out.print("[");
for (int i=0;i<a.length ;i++ )
{
if (i<a.length-1)
{
System.out.print(a[i]+",");
}else
System.out.print(a[i]+"]");
}
}
}

//该方法比较灵点,希望对你有助。
第4个回答  2012-06-30
if(a<b){
if(b<c){
System.out.println("a<b<c");
}else if(c<a){
System.out.println("c<a<b");
}else{
System.out.println("a<c<b");
}
}else if(a>b){
if(b>c){
System.out.println("a>b>c");
}else if(c>a){
System.out.println("c>a>b");
}else{
System.out.println("a>c>b");
}
}

在java中怎么比较三个整数大小例如(a , b, c);并从小到大输出
用冒泡排序,对三个数字按照由小到大进行排序。以23、11、17为例,代码如下:import java.util.Scanner;public class woo { static int[] bubbleSort(int[] date) { boolean isSwap;for(int j = 1; j < date.length; j++) { isSwap = false;for(int i = 0; i < date.length - j;...

用java语句比较3个数的大小,输出大数,个数值有键盘输入
1、打开Eclipse,创建一个Java工程,在此工程中新建一个Java类;2、在新建的Java类中利用Scanner类获取键盘输入的三个数,并且分别赋值给变量a,b,c;3、添加一个比较两个数的方法,将随机两个数进行比较,再让返回的最大值与最后一个值进行比较,即可得出最大值。具体实现代码如下:import java.uti...

java输入三个数从小到大排列输出
1、首先我们打开java的编辑器,新建一个java文件,并输入main函数,如下图所示 2、然后在main函数中准备三个数字,注意数字的大小要没有规律,如下图所示 3、接下来我们开始利用比较运算符给三个数进行排序,如下图所示 4、最后运行程序你就会看到三个数按照从小到大的顺序输出了,如下图所示 ...

在java中怎么比较三个整数大小例如(a,b,c
public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("请依次输入3个数字");int a = scanner.nextInt();int b = scanner.nextInt();int c = scanner.nextInt();if( b > a){ int t = 0;t = a;a = b;b = t;} if( c >...

编程:输入3个数,按从小到大的顺序输出
h>int main(){ int a , b , c; scanf("%d %d %d" , &a , &b , &c); \/\/输入三个数 空格分开 if(a<b && a<c) \/\/1、a最大 { if(b<c) { printf("%d %d %d" , a , b , c); } else { printf("%d %d %d" , a , c ...

Java定义三个整形变量a,b,c;其值由键盘输入,比较它们的值并打印输出最...
public static void main(String[] args) { Scanner scan = new Scanner(System.in); List<Integer> nums = new ArrayList<Integer>(); nums.add(scan.nextInt()); nums.add(scan.nextInt()); nums.add(scan.nextInt()); System.out.println(nums); Collections.sort(...

在java中用switch比较三个数大小?详细代码哦!
class Compare { int a,b,c;int i;Compare(int a,int b,int c){ this.a=a;this.b=b;this.c=c;} int flag(){ if(b<=a && b>=c)i=0;if(a>=c && c>=b)i=1;if(b>=a && a>=c)i=2;if(b>=c && c>=a)i=3;if(c>=a && a>=b)i=4;if(c>=b && b>=a...

用java.随机输入3个数a,b,c,按大小顺序输出。
public static void main(String[] args) { System.out.print("请输入三个数,用空格分开:");Scanner sc = new Scanner(System.in);int[] a = new int[3];for (int i = 0; i < 3; i++) { a[i] = sc.nextInt();} int temp = 0;if (a[0] < a[1]) { temp = a[0...

在java中编写一下程序,输入a,b,c三个值,输出三个数的和以及乘积
实现思路:实际上就是先输入三个数,之后分别和另外两个数比较,之后从小到大进行数值替换,之后分别输出即可。 import javax.swing.JOptionPane; public class Arrange{ public static void main (String args[]){ String str; int x,y,z; int ...

给定a、b、c用java里的if语句进行判断后按从大到小的顺序输出
if (a < b) { a += b;b = a - b;a -= b; } if (a < c) { a += c;c = a - c;a -= c;} if (b < c) { b += c;c = b - c;b -= c;}System.out.print(a+">"+ b +">"+ c);

相似回答