import java.util.Scanner;
import java.util.List;
import java.util.Arrays;
import java.util.*;
public class Exercise16 {
public static void main(String[] args) {
System.out.println("Please enter a sequence of positive integers");
Scanner user_input = new Scanner(System.in);
String user_string = user_input.nextLine();
boolean hasNegativeOne = user_string.contains("-1");
if (hasNegativeOne){
String[] sequence = user_string.split(" ");
int[] numbers = new int[sequence.length];
for (int i = 0; i < sequence.length;i++) {
numbers[i] = Integer.parseInt(sequence[i]);
}
// Method for getting the maximum value
int max_value = 0;
for(int i=0; i<numbers.length; i++){
if (numbers[i] > max_value){
max_value = numbers[i];
}
}
// Method for getting the minimum value
int min_value = 0;
for(int i=0; i<numbers.length; i++){
if (numbers[i] < min_value){
min_value = numbers[i];
}
}
System.out.println("The maximum value is: " +max_value);
System.out.println("The minimum value is: " +min_value);
}
}
}
大家好,我正在开发一个程序,用户输入一系列正整数。我的程序应该显示最大值和最小值。但是,每当我运行程序时,即使输入的序列不包含0,最小值也始终设置为0.如何更改此值?另外,我包括了&#34; if(numbers [i]&gt; -1){&#34;因为我的程序不允许接受负数。提前谢谢。
答案 0 :(得分:2)
min_value从0开始。您不能接受负数。然后你试着说:
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<html>
<body>
<p>foo</p>
<p>bar</p>
</body>
</html>
EOT
doc.search('p').class # => Nokogiri::XML::NodeSet
doc.search('p').text # => "foobar"
doc.at('p').class # => Nokogiri::XML::Element
doc.at('p').text # => "foo"
doc.search('p').map(&:text) # => ["foo", "bar"]
如果您不接受负数,则任何数字都不会小于0.
答案 1 :(得分:2)
尝试将您的最小值初始化为 public class Test{
static String symbol;
public static void main (String[] args){
String symbol = args[0];
letter();
}
static void letter(){
System.out.println(symbol);
}
}
。
答案 2 :(得分:1)
最初将max_value
和min_value
设置为numbers[0]
会更好。在这种情况下,您将正确处理这两种情况,因为它是用户输入的一部分,因此您的默认值也是有效的。如果元素大于(或小于)第一个元素,则重新分配它
if (numbers.length != 0) {
int max_value = numbers[0];
int min_value = numbers[0];
for (int i = 1; i < numbers.length; i++) {
int num = numbers[i];
if (num > max_value) {
max_value = num;
}
if (num < min_value) {
min_value = num;
}
}
System.out.println("The maximum value is: " + max_value);
System.out.println("The minimum value is: " + min_value);
} else {
// process empty user input
}