java - 我需要帮助来编写一个找到序列中两个整数之间最大差异的代码
问题描述
我需要编写一个代码来找出序列中两个整数之间的最大差异。用户应该输入连续 10 天的股票价格,程序会告诉你每天最大的变化。我被困住了。
import java.util.Scanner;
public class Change {
public static void main (String [] args) {
final int days = 10;
int largeDiff = 0; // largest difference
Scanner sc = new Scanner(System.in);
System.out.println("Enter a stock price:");
int price1 = sc.nextInt();
int price2 = sc.nextInt();
int diff1 = price1 - price2;
for (int i = 1; i <= 8; i++) {
int priceA = sc.nextInt();
int priceB = sc.nextInt();
int diff2 = priceA - priceB;
if (diff2 > diff1) {
diff2 = largeDiff;
}
else {
diff2 = diff1;
}
}
System.out.println(largeDiff);
}
}
解决方案
您分配largeDiff
给diff2
. 修改您的代码,如下所示:
if (diff2 > diff1) {
largeDiff = diff2;
}
else {
largeDiff = diff1;
}
你的代码也有问题。要找到最大的差异:
编辑: 做以下修改:
public static void main(String[] args) {
final int days = 10;
int largeDiff = 0; // largest difference
Scanner sc = new Scanner(System.in);
System.out.println("Enter a stock price:");
int price1 = sc.nextInt();
int price2 = sc.nextInt();
int diff1 = price1 - price2;
largeDiff = Math.abs(diff1);
for (int i = 1; i <= 8; i++) {
int priceA = sc.nextInt();
int priceB = sc.nextInt();
int diff2 = Math.abs(priceA - priceB);
if (diff2 > largeDiff) {
largeDiff = diff2;
}
}
System.out.println(largeDiff);
}
NB: Math::abs
用于求绝对值
推荐阅读
- node.js - 运行 `npm install xx`, `npm uninstall xx` 后,npm 如何知道如何更新 `package.json`
- ruby-on-rails - 将默认时间格式设为 ISO8601
- ios - 尝试读取 txt 文件时出现 TIC SSL 信任错误
- javascript - gridstack.js 根据内部内容设置 grid-stack-item 高度自动
- javascript - 如何在散点图中添加滚动条?
- java - Maven 将项目部署为 Jar - 缺少类定义
- javascript - 这个 Javascrip/节点变量/常量分配符号/语法叫什么?
- haskell - http-simple setRequestBodyLBS 背后的哲学
- debian - 当我在 BIND 上使用 dig SERVFAIL id:40642 时如何解决
- statistics - 未知数量候选人的最佳停止