1、思路
专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业永胜免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
首先利用随机数函数生成100个随机数;
然后在这100个数中,通过比较,找出最大数和最小数。
2、代码如下
import java.util.Random;
public class Lanxi { public static void main(String[] args)
{
int max = 0;
int min = num[0];
Random r = new Random();
for (int i = 0; i num.length; i++) { num[i] = r.nextInt(100); }
for (int i = 0; i num.length; i++) { sum += num[i]; amass *= num[i]; if (max num[i]) { max = num[i]; }
else if (min num[i]) { min = num[i]; } } avg = sum / 10;
System.out.println("\n100随机数最大数为:"+max+"\t最小数为:"+min); } }
方法一:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double min=0;
Scanner input = new Scanner(System.in);
System.out.print("请输入第一个数:");
double n1 = input.nextDouble();
input.nextLine();
System.out.print("请输入第二个数:");
double n2 = input.nextDouble();
input.nextLine();
System.out.print("请输入第三个数:");
double n3 = input.nextDouble();
input.nextLine();
// 补充、、、、、、、、、、、、、、、、
if (n1n2n2n3 || n2n1n1n3) {
min=n3;
}else if(n1n3n3n2 || n3n1n1n2){
min=n2;
}else {
min=n1;
}
System.out.println("最小值为:"+min);
input.close();//关闭扫描
}
}
方法二:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double min = 0;
Scanner input = new Scanner(System.in);
System.out.print("请输入第一个数:");
double n1 = input.nextDouble();
input.nextLine();
System.out.print("请输入第二个数:");
double n2 = input.nextDouble();
input.nextLine();
System.out.print("请输入第三个数:");
double n3 = input.nextDouble();
input.nextLine();
// 补充、、、、、、、、、、、、、、、、
double[] arr={n1,n2,n3};
System.out.println("最小值是:"+getMin(arr));
input.close();//关闭此扫描器
}
public static double getMin(double[] arr){
int min = 0;
for(int x=1; xarr.length; x++){
if(arr[x]arr[min])
min = x;
}
return arr[min];
}
}
这里的难点在于记录数字的位置,因此我定义了一个类NumPosition.java,由数字和它的位置组成:
public class NumPosition {
private int num;
private int position;
public NumPosition(int num, int position) {
this.num = num;
this.position = position;
}
public int getNum() {
return num;
}
public int getPosition() {
return position;
}
}
然后在main函数中,首次遍历求和的时候,记录每一个数字的位置,之后排序后,就可以找到最大值和最小值的位置了:
public class Main {
public static void main(String[] args) {
int[] s = new int[]{3, 5, 2, 6, 54, 8, 9, 1, 4, 11};
NumPosition[] positions = new NumPosition[s.length];
int sum = 0;
for (int i = 0; i s.length; i++) {
sum += s[i];
positions[i] = new NumPosition(s[i], i);
}
System.out.println("一维数组中的数的和为:" + sum);
//jdk自带数组升序排序,也可以搜一下冒泡排序自己实现
Arrays.sort(s);
int min = s[0];//最小值 排序后第一个元素
int max = s[s.length - 1];//最大值 排序后最后一个元素
for (int i = 0; i positions.length; i++) {
if (positions[i].getNum() == min) {
System.out.println("数组中的最小的数为:[" + min + "],其位于数组的第[" + positions[i].getPosition() + "]位置");
}
if (positions[i].getNum() == max) {
System.out.println("数组中的最大的数为:[" + max + "],其位于数组的第[" + positions[i].getPosition() + "]位置");
}
}
}
}
运行结果:
这里位置是从0算起的,如果要从1算起就每个位置加1
我这里是用的float型 当然你要对输入的类型有其它要求可以自行更改,代码如下:\x0d\x0aimport java.util.Scanner;\x0d\x0a\x0d\x0apublic class J \x0d\x0a{\x0d\x0a public static void main(String [] args)\x0d\x0a {\x0d\x0a Scanner scan=new Scanner(System.in);\x0d\x0a while(scan.hasNext())\x0d\x0a {\x0d\x0a float a=scan.nextFloat();\x0d\x0a float b=scan.nextFloat();\x0d\x0a float c=scan.nextFloat();\x0d\x0a float d=Math.min(a, b);\x0d\x0a float min=(d-c)0?c:d;\x0d\x0a \x0d\x0a System.out.println(min);\x0d\x0a }\x0d\x0a }\x0d\x0a}