- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Java 编程新手,我想编写一个程序来计算与档位和 RPM 相关的汽车速度。
我搜索了不同的网站或主题,但找不到任何内容。也许答案就在那里,但我还没有看到:D。
一个小但不完整的程序例如:
import java.util.Scanner;
public class Speed {
public static void main(String[] args) {
double Gear, MPH, RPM
double TireDia = 78;
double Pi = 3.1415;
double RatioGearOne = 3.4;
double RatioGearTwo = 2.5;
double RatioGearThree = 1.6;
Scanner input = new
Scanner (System.in);
System.out.println("What gear is it in?");
Gear = input.nextDouble();
System.out.println("How many RPM are shown?");
RPM = input.nextDouble();
MPH = Gear * RPM * Pi * TireDia * 60 / 1000000;
System.out.println("The car is going: " + MPH + " MPH");
}
}
就像我问的,我希望您可以输入 Gear 1 或 Gear 2 或 Gear 3 乘以 PRM、Pi 等来显示 MPH。我读到你也可以用数组来做到这一点,但我现在希望它符合这一点,因为我当时对它有了更多的理解。
希望你能帮助我。
更新:
我现在已经按照我想要的方式工作了,并根据您的建议对其进行了一些清理。现在我需要弄清楚如何解决越界错误,但还没有弄清楚如何(现在已经搜索了几个小时)并获得整数的速度。感谢迄今为止的帮助。
这是我当前的程序:
import java.util.Scanner;
public class geschwindigkeitAuto {
public static void main(String[] args) {
double gang, kmh, upm;
Scanner input = new Scanner (System.in);
double[] übersetzungen = {3.7, 1.95, 1.3, 1.03, 0.84, 0.68};
System.out.println("Welcher Gang ist Eingelegt? (wähle 1 bis 6): ");
gang = input.nextInt();
System.out.println("Wieviele Umdrehungen werden angezeigt? (wähle 0-6500): ");
upm = input.nextInt();
kmh = upm / übersetzungen[(int)gang -1] / 3.62 * 68 * 3.141 * 60 / 100000;
System.out.print("Die Geschwindigkeit des Autos beträgt: " + kmh + " kmh");
}
}
更新2
我已经搜索了更多内容并观看了一些视频来避免 OutOfBoundExcenption,并且找到了一个解决方案,这样我就无法在程序中输入少于 1 或多于 6 的数据而不会失败。现在唯一的问题是,如何告诉用户在做出错误选择后输入不同的数字,而不是拳头浏览整个序列。
import java.util.Scanner;
public class geschwindigkeitAuto {
public static void main(String[] args) {
double gang, kmh = 0, upm;
Scanner input = new Scanner (System.in);
double[] übersetzungen = {3.7, 1.95, 1.3, 1.03, 0.84, 0.68};
System.out.println("Welcher Gang ist Eingelegt? (wähle Gang 1 bis 6): ");
gang = input.nextInt();
System.out.println("Wieviele Umdrehungen werden angezeigt? (wähle 0-6500): ");
upm = input.nextInt();
try {
kmh = upm / übersetzungen[(int)gang -1] / 3.62 * 68 * 3.141 * 60 / 100000; }
catch(ArrayIndexOutOfBoundsException ex) {
System.out.println("Du hast einen nicht vorhandenen Gang gewählt! "
+ "Es gibt nur 6 Gänge zur Auswahl" + "\n"); }
System.out.println("Die Geschwindigkeit des Autos beträgt: " + kmh + " kmh" + "\n");
System.out.print("Noch eine Berechnung? (J/N) : ");
System.out.printf("\n");
String var= input.next();
if(var.equalsIgnoreCase("J")) {
main(null);
}
}
}
最佳答案
如果您坚决不想使用数组,那么您可以使用 switch 语句:
switch(gear) {
case 1: ratioGearOne * ...
case 2: ratioGearTwo * ...
...
}
等等。您还需要一个默认值:只要输入不符合其中一种情况(例如打印错误),就会运行该默认值。
如果你要使用数组,你可以这样做:
double[] ratios = { 3.4, 2.5, 1.6 }
然后你可以像这样计算 MPH:
MPH = ratios[gear - 1] * ...
请注意,您需要从 gear 中减去 1,因为数组索引从 0 开始。我相信您还需要将 gear 变量更改为 int (使用 nextInt()),因为您不能有一半的索引。
正如其他评论者所说,我强烈建议您在养成任何坏习惯之前先阅读 Java 约定(特别是变量命名)。
关于java - 在解决了最初的越界异常后,如何将 a 与 b 或 c 相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47672533/
我有一个使用 Sinch SDK 和 CallKit 实现的 VOIP 应用程序。一切正常,除了设备插入耳机时。在后一种情况下,当通话开始时,音频仍通过设备的主扬声器路由。如果我在通话期间拔下并重
我需要将大量复杂(20 多个属性)对象过滤成多个子列表。要创建子列表,我有一个过滤器规范列表。要求是:a) 不允许一个项目成为两个子列表的一部分,并且 b) 必须能够在处理完成后获取所有未分割的项目。
我有一个简单的 .share-toggle 切换链接。当您点击它时,Facebook 评论插件应该会显示。它最初应该被 Conceal 问题是,如果我使用 css Conceal 它,然后单击切换按钮
我正在尝试制作一个功能类似于 android 市场的图库,您可以在其中滚动(左/右)以查看免费或付费应用程序等...还可以在布局中上下滚动。 到目前为止,我只是让它加载了两个布局,它们都有一个简单的“
大家好,我是网络开发的新手,最近刚刚完成我对网络设计的第一次尝试。我偶然发现了一个我找不到解决方案的问题。在 webkit-browsers 中,我的一个 ul-lists(导航)最初呈现在错误的位置
我遇到了这个问题。我在 ISP 上使用 Umbraco CMS 启动了一个 ASP.NET 网站。(这只是一个非常基本的信息网站。没什么特别的。) 但是,当我想要访问该网站时,第一个页面加载需要很长时
在我的 iPhone 应用程序中,我使用 UITabBarController 布置了三个选项卡。第一个选项卡(在应用启动时加载)使用本地数据加载,速度非常快。 虽然第二个选项卡从网络下载 XML 文
我有这样的风格: #cytoscape-container { width: 100%; height: 100%; margin: 0 aut
我在这里看到了几篇关于 SO 的帖子,但它们在功能和结构上过于具体,而我正在寻找的是我或任何人都可以在任何地方使用的更通用的东西。 我只需要有一个按钮,单击该按钮可以在 3 类之间循环。但如果出现必须
我在 http://www.raven.dima.neoturbine.net/ 有一个网页我正在努力。顶部导航在 IE 8、Firefox 3.6 和适用于 Android 的 Dolphin 浏览
我想将主机的用户/组与 docker 机器同步,以使(开发人员)能够编辑容器内部或外部的文件。有一些这样的想法:Handling Permissions with Docker Volumes这会创建
向通知列表/栏发布推送通知时,.contentText 和 .number 最初不显示(.ticker、.icon 和 .contentTitle 显示正常)。但是,在发布另一个通知(具有不同的 ID
我实现了以下 MKMapView 方法,该方法在添加注释后运行。我在 Interface Builder 中将我的 MKMapView map (parishMap) 设置为“显示用户位置”,并且在加
我是一名优秀的程序员,十分优秀!