在java中怎么比较三个整数大小例如(a , b, c);并从小到大输出
public static void main(String args[]) {
Integer a = 2, b = 1, c = 3;
int max, min, middle = 0;
if (a > b) {
max = a;
min = b;
if (max < c) {
middle = a;
max = c;
}
if (min > c) {
middle = b;
min = c;
}
} else {
max = b;
min = a;
middle = c;
if (max < c) {
middle = b;
max = c;
}
if (min > c) {
middle = a;
min = c;
}
}
System.out.println(max + "---" + middle + "====" + min);
}
执行结果:
第一种方法用if判断的
import java.util.Scanner;
public class A {
public static void main(String[] args) {
System.out.println("请输入你的第一数");
int a=new Scanner(System.in).nextInt();
System.out.println("请输入你的第二数");
int b=new Scanner(System.in).nextInt();
System.out.println("请输入你的第三 数");
int c=new Scanner(System.in).nextInt();
if(a<b&&b<c){
System.out.println(a+"<"+b+"<"+c);
}else if(b<a&&a<c){
System.out.println(b+"<"+a+"<"+c);
}else if(c<a&&a<b){
System.out.println(c+"<"+a+"<"+b);
}else{
System.out.println(a+"="+b+"="+c);
}
}
}
第二种方法用三目表达式
import java.util.Scanner;
public class B {
public static void main(String[] args) {
System.out.println("请输入你的第一数");
int a=new Scanner(System.in).nextInt();
System.out.println("请输入你的第二数");
int b=new Scanner(System.in).nextInt();
System.out.println("请输入你的第三 数");
int c=new Scanner(System.in).nextInt();
if(a==b&&b==c){
System.out.println(a+"="+b+"="+c);
return;
}
//三目表达式
int max =a>c?(a>b?a:b):(c>b?c:b);//最大数
int min =ab?c:b);//最小数
int mid =ab?a:(c>b?b:c)):(a<b?a:(b<c?c:b));//中间值
System.out.println(min+"<"+mid+"<"+max);
}
}
用冒泡排序,对三个数字按照由小到大进行排序。以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] +"");
System.out.println("");
}
}
扩展资料:
通常排序算法,可以分为两大类。
非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。包括交换排序、插入排序、选择排序、归并排序。
线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。包括计数排序、桶排序、计数排序。
参考资料:冒泡法排序——百度百科
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+"
二号b:" + b+"
三号c:" + c);
} else if (c < a && b < c && b < a) {
System.out.println("一号a:" + a+"
二号c:" + c+"
三号b:" + b);
} else if (c < a && c < b && a < b) {
System.out.println("一号b:" + b+"
二号a:" + a+"
三号c:" + c);
} else if (a < c && a < b && c < b) {
System.out.println("一号b:" + b+"
二号c:" + c+"
三号a:" + a);
} else if (a < b && a < c && b < c) {
System.out.println("一号c:" + c+"
二号b:" + b+"
三号a:" + a);
} else if (b < a && b < c && a < c) {
System.out.println("一号c:" + c+"
二号a:" + a+"
三号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);}}
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);
}
}
不过我还是建议你多用一楼的方法
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]+"]");
}
}
}
//该方法比较灵点,希望对你有助。
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如何比较大小
使用Java中的BigDecimal类型比较大小,可以通过调用其compareTo方法来实现。BigDecimal是Java中用于精确表示和操作大数字、小数字以及浮点数的类。当我们需要比较两个BigDecimal对象的大小时,可以调用其提供的compareTo方法。1. compareTo方法的使用:compareTo方法是Java中许多类,包括BigDecimal类,用来比较对象大...
java中equalsignorecase怎么用?
在Java中,equalsIgnoreCase方法是一个实用的工具,用于忽略大小写进行字符串比较。这个方法接受一个参数,即另一个要比较的字符串对象,如:"String anotherString = "mn";"。下面是一个具体的例子,展示了如何使用这个方法:在比较字符串strCom1 = "MN" 和 strCom2 = "mn" 时,我们可以使用 Strin...
在java的程序里date类型怎么比较大小呀?
首先,你可以利用Date类的compareTo方法。此方法用于比较两个Date对象,返回值规则如下:如果两个日期相等,返回0;如果第一个日期早于第二个,返回负数;反之,返回正数。这种方法直观且易于理解,例如:java Datedate1=newDate();Datedate2=newDate();intresult=date1.compareTo(date2);if(result==...
java中可以用==来比较两个字符串是否相等吗
JAVA比较两个字符串是否相等可以用equals方法或者是“==”。equals 方法常常用来检测两个对象是否相等,即两个对象的内容是否相等,如果只是比较对象的内容,而不比较对象来源和功能类型时,常用此方法。“==”常用于用于比较引用和比较基本数据类型时是否具有不同的功能,比较基本数据类型,如果两个值相同,...
java中两个字符串如何比较大小
第一种直接用字符串类的compareTo方法:String t1="20131011"; String t2="20131030"; int result = t1.compareTo(t2);第二种是把这个日期字符串转换成long:SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Date d1 = sdf.parse(t1); Date d2 = sdf.parse(t2); long ...
如何用java代码实现字符串的比较?
在这个例子中,equals()方法用于比较str1和str2。如果它们完全相同(包括大小写),那么这个方法会返回true,否则返回false。如果你希望在比较时忽略大小写,你可以使用equalsIgnoreCase()方法。例如:javapublic class Main { public static void main(String[] args) { String str1 = "Hello";String ...
java怎么比较两个对象是否相等
java中的基本数据类型判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false。但是java中的引用类型的对象比较变态,假设有两个引用对象obj1,obj2,obj1==obj2 判断是obj1,obj2这两个引用变量是否相等,即它们所指向的对象是否为同一个对象。言外之意就是要求两个变量所指内存地址相等的...
怎么理解java中的lambda表达式实现的比较器?
Lambda表达式在Java中实现比较器是一种简洁且强大的方式。要理解Lambda表达式,可以将其视为函数的一种紧凑形式。例如,需要一个将两个数字相加并返回结果的函数,可以通过定义接口来实现,但Java中函数本身无法单独定义,因此需要接口。我们可以通过定义类或使用匿名类来实现该接口的功能。然而,从Java 8开始...
java中的字符串比较方法
java中的字符串比较方法:1)string1.equals(string2)2) str1==str2 。java中字符串的比较是==比较引用,equals 比较值的做法。但是不同的声明方法字符串的比较结果也是不同的。例如: String str1=new String("a");String str2=new String("a");str1==str2 输出false str1.equals(...
java怎么比较字符串大小?
java的String类中有一个compareTo的方法。public class test { public static void main(String[] args) { String a = "abb"; String b = "abc"; System.out.println(a.compareTo(b)); String a1 = "abc"; String b1 = "abc"; System.out.println(a1.compareTo...
典昨拉西: class B { public static void main(String[] args) { int a=2; int b=3; int c=1; for(int i=1;i<=3;i++) { if(a>b) { if(b>c) { System.out.println("max number is"+a); break; } if(a>c) { System.out.println("max number is"+a); break; } else { System.out.println("...
江阳区18378941586: JAVA:编写一个方法比较三个整数大小 - ?
典昨拉西: public class Test { public int getMax(int a, int b, int c) { return Math.max(Math.max(a, b), c); } public static void main(String[] args) { Test t = new Test(); System.out.println(t.getMax(2, 67, 8)); } }
江阳区18378941586: java程序!比较三个数的大小 - ?
典昨拉西: d=a>b?a:b是 看a是否大于b 如果是把a赋值给d,不是的话就把b付给d 这是比较两个数大小的,放这程序却是没用
江阳区18378941586: java三个变量怎么比较大小 - ?
典昨拉西: 有好几种.第一种,将三个数用sort排序,则,三个数的大小就出来了.第二种用数学方法,调用静态变量Math.max();最大的数就出来了!第三种就是写个函数,先比较两个数的大小,再与第三个数比较,代码如下: import java.util.*; public ...
江阳区18378941586: java编程比较a,b,c,三个数的大小怎样编写? - ?
典昨拉西: 最简单的方法,把三个数字封装成集合,比如一个List,然后用集合的工具类对List排序,Collections.sort(list); 输出的list就是从小到大了.
江阳区18378941586: java从键盘输入三个数,如何判断他们的大小 - ?
典昨拉西: package a;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Test { /*** @param args* @author tower*/public static void main(String[] args) {BufferedReader reader = new ...
江阳区18378941586: 用java语句比较3个数的大小,输出大数,个数值有键盘输入 - ?
典昨拉西: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26importjava.util.Scanner;publicclass$ { publicstaticvoidmain(String[] args) { Scanner in = newScanner(System.in); System.out.print("输入个数:"); int[] arr = newint[...
江阳区18378941586: java 初学 3个数做比较 - ?
典昨拉西: import javax.swing.JOptionPane; public class FindMax { public static void main(String args[]){ String input1,input2,input3; int a,b,c,max; input1 = JOptionPane.showInputDialog("输入第一个数"); input2 = JOptionPane.showInputDialog("输...
江阳区18378941586: 用Java程序比较3个数的大小,用if...else结构 - ?
典昨拉西: int a=0; int b=0; int c=0; ````` public String Sort(int a,int b, int c){ if(a>b>c){return "a>b>c"; }else if(a>c>b){return "a>c>b"; }else if(b>a>c){return "b>a>c"; }else if(b>c>a){ .......类推·· } }
江阳区18378941586: java里如何进行三个变量的比较 - ?
典昨拉西: 这个就是排序问题,用冒泡法可以解决/** 题目:输入三个整数x,y,z,请把这三个数由小到大输出.*/public int[] program4(int x,int y,int z) //要比教的3个数为参数{int[] arr = {x,y,z};for(int i=0;i{ for(int j=i+1;j { if(arr[i]>arr[j]) //如果取得的数字大于...