从键盘接收十个整数。 比较大小后输出最大的和最小的怎么实现?
想到下面这个例子里只接收一次, 现在接收十次不是要接收十次了
我想肯定不是这样的
import java.io.*;public class ReceiveNumber { /**
* @param args
*/
public static void main(String[] args) {
int i = 0;
String s = null;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
s = br.readLine();
} catch(IOException e) {}
System.out.println("You've input the number:" + s);
System.out.println("\r");
int m = s.indexOf(".");
String p = s.substring(0,m);
String q = s.substring(m+1,s.length());
System.out.println("The integer of the number is "+ p);
System.out.println("\r");
System.out.println("The decimal fraction of the number is "+ q);
}
想到下面这个例子里只接收一次, 现在接收十次不是要接收十次了
我想肯定不是这样的
import java.io.*;public class ReceiveNumber { /**
* @param args
*/
public static void main(String[] args) {
int i = 0;
String s = null;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
s = br.readLine();
} catch(IOException e) {}
System.out.println("You've input the number:" + s);
System.out.println("\r");
int m = s.indexOf(".");
String p = s.substring(0,m);
String q = s.substring(m+1,s.length());
System.out.println("The integer of the number is "+ p);
System.out.println("\r");
System.out.println("The decimal fraction of the number is "+ q);
}
给你个例子运行下看看就明白了...输入建议用Scanner
import java.util.*;public class Sort {
public static void main(String[] args) {
double[] i = new double[5];
Scanner in = new Scanner(System.in);
for (int j = 0; j < 5; j++) {
i[j]=in.nextDouble();
}
for (int j = 0; j < 5; j++) {
System.out.print(i[j]+"\t");
}
System.out.println(" ");
Arrays.sort(i);
for (int j = 0; j < 5; j++) {
System.out.print(i[j]+"\t");
}
}
}
那段代码是办理出整数部分和小数部分。。
接收十个数不是要像上面那个程序一样要要接收十次,我不是要写十个try模块?
这点不明白后面的用冒泡排序我会~
i[j]=in.nextDouble();不就接收了吗.......费尽...又不是文件用什么流啊
while(){}
把你进行输入流操作的语句框起来
设定某个特别的字符为while终止条件(比如Esc,Q,空格等等都可以)第一次输入一个数字后,按回车,让程序读取到你的输入流,然后把它转换成double数存到数组中,这个数组一共有两个位置,两个位置都放它好了再输入一个数字,按回车,让程序读取到你的输入流,把它转换成double数,和数组中的第一个位置数进行比较,如果比它小,覆盖掉第一个位置的值,再和数组中第二个位置的数进行比较,如果比它大,覆盖掉第二个位置的值以后依次都这样操作,直到输入十个数字后按某个特殊的键跳出这个while循环,之后用println函数打印这个数组就可以了,第一个位置就是最小值,第二个位置就是最大值这是文字描述你想要实现的功能
真正的代码,我希望你能在理解的基础上自己动手写出来,并不是很难的。
下面的是按四楼的写的我想在输入第一个数的时候提示“请输入十个数”
在输入第二个数的时候提示“请输入第二个数”
不知道怎么实现谢谢四楼的。。我对Scanner不太懂~~~
import java.util.Arrays;
import java.util.Scanner;
public class MaxMin { public static void main(String[] args) {
System.out.println("Please input ten numbers");
int[] a = new int[10];
for (int i = 0; i < 10; i++ ){
System.out.println("Please input the next number : ");
Scanner in = new Scanner(System.in);
a[i] = in.nextInt();
System.out.println(a[i]);
}
Arrays.sort(a);
for (int i = 0; i < 10 ; i++) {
}
int max = a[9];
int min = a[0];
System.out.println("You've input the largest is " + max);
System.out.println("You've input the smallest is " + min);
}}
我的想法
import java.util.Arrays;
import java.util.Scanner;
public class MaxMin { public static void main(String[] args) {
int[] a = new int[10];
int max,min,i;
System.out.println("Please input ten numbers: ");
Scanner in = new Scanner(System.in);
for (i = 0; i < 10; i++)
a[i] = in.nextInt();
max = a[0];
min = a[0];
for (i = 1; i < 10; i++) {
if(max<a[i]) {
max = a[i];
}
}
for (i =1; i < 10 ; i++) {
if(min>a[i]) {
min = a[i];
}
}
System.out.println("The largest number you input is " + max);
System.out.println("The smallest number you input is " + min);
更改如下:import java.util.Arrays;
import java.util.Scanner;public class MaxMin2 {
public static void main(String[] args) {
System.out.println("Please input ten numbers");
int[] a = new int[10];
a[0] = new Scanner(System.in).nextInt();
for (int i = 1; i < 10; i++ ){
System.out.println("Please input the next number : ");
Scanner in = new Scanner(System.in);
a[i] = in.nextInt();
System.out.println(a[i]);
}
Arrays.sort(a);
for (int i = 0; i < 10 ; i++) {
}
int max = a[9];
int min = a[0];
System.out.println("You've input the largest is " + max);
System.out.println("You've input the smallest is " + min);
}}
现在去实现下talent_marquis(甜菜侯爵) 的想法,谢谢你的意见