程序要求用户输入10个数字,并且应该显示用户输入的所有10个数字中的最小数字。这是我的代码:
import java.util.Scanner;
public class SmallestNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int counter=10;
int smallest=0;
int number;
System.out.println("Enter a number");
while(counter>0)
{
System.out.println("Enter a number");
number=input.nextInt();
if(number<smallest)
//stores number to largest
smallest=number;
//decrement counter
counter=counter-1;}
System.out.println("Smallest number is "+smallest);
}}
我做错了什么
答案 0 :(得分:0)
int smallest=0;
应该改变。
你最初应该把它设置成一个大号,比如 int smallest = Integer.MAX_VALUE;
答案 1 :(得分:0)
我假设您的'最小'数字始终为0.这是因为它从0开始,没有输入会小于此值(除非用户输入负数)。
将您的代码更改为最小等于第一个用户输入,并且对于每个后续输入,请针对该值进行测试。
import java.util.Scanner;
public class SmallestNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int counter=10;
int smallest;
int number;
System.out.println("Enter a number");
while(counter>0)
{
System.out.println("Enter a number");
number=input.nextInt();
if (counter == 10)
{
smallest = number;
}
else
{
if(number<smallest)
//stores number to largest
smallest=number;
}
//decrement counter
counter=counter-1;}
System.out.println("Smallest number is "+smallest);
}}
答案 2 :(得分:0)
我认为你的问题是你已经从最小= 0开始。这样,用户需要输入小于0的数字,使其小于初始值。
你应该使用一个非常大的数字初始化最小值(比如int smallest = Integer.MAX_VALUE;)
答案 3 :(得分:0)
首先将System.out.println放在while循环的一边。
其次,如果您正在考虑从10个输入数字中评估最小数字,那么改变逻辑。
首先接受第一个输入并将其存储在最小的输入中。
将计数器设置为9.类似于:
import java.util.Scanner;
public class SmallestNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int counter=9;
int smallest;
int number;
System.out.println("Enter a number");
smallest=input.nextInt();
while(counter>0)
{
System.out.println("Enter a number");
number=input.nextInt();
if(number<smallest)
//stores number to largest
smallest=number;
//decrement counter
counter=counter-1;}
}
System.out.println("Smallest number is "+smallest);
}
答案 4 :(得分:0)
这个有效
import java.util.Scanner;
public class SmallestNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int counter=10;
int smallest=0;
int number;
//System.out.println("Enter a number");
while(counter>0)
{
System.out.println("Enter a number");
number=input.nextInt();
if (counter==10)
smallest=number;
if(number<smallest)
//stores number to largest
smallest=number;
//decrement counter
counter=counter-1;}
System.out.println("Smallest number is "+smallest);
}}
答案 5 :(得分:0)
尝试此算法。
while(counter>0)
{
System.out.println("Enter a number");
number=input.nextInt();
if(counter==10)
smallest=number;
else{
if(number<smallest){
smallest=number;
counter=counter-1;
}
}
}
System.out.println("Smallest number is "+smallest);