【问题标题】:.java file not running properly using mac Terminal usual java commands.java 文件无法使用 mac 终端常用 java 命令正常运行
【发布时间】:2015-04-15 01:11:17
【问题描述】:

我正在尝试在this 链接(特别是 Plotter.java)中运行程序。在 zip 文件中,有关于如何运行它们的说明,但它们不起作用。我已阅读有关运行的其他问题来自终端的 java 文件,我已经应用了这些解决方案,但没有一个在这个文件上工作,即使我运行其他代码没有任何问题(java -dir 或 javac )。 我怎样才能运行这个程序? 我也想在 Eclipse 控制台或在 Eclipse 中制作的 GUI 中运行它(绘图仪) .

p.s:我没有包含任何代码,因为该程序有大约 10 个类,而且我是 java 新手。

【问题讨论】:

  • 信息不足。当你尝试运行它时,java 会说什么?
  • 这会让我认为代码本身有问题。
  • 有什么办法解决吗?因为我真的需要看看它是如何工作的我需要一个程序来完成这个程序所做的获取多个表达式并绘制它们
  • 你仔细阅读Instructions.txt文件了吗?

标签: java eclipse macos terminal


【解决方案1】:

鉴于您发布的异常,问题是因为您没有为 java 提供正确的参数。该程序至少需要三个双精度参数。

他们是:

minX (the first argument)
maxX (the second argument)
frequency (the third argument).

根据 .zip 中随附的说明: 绘图方程:

java PlotEq <min-x> <max-x> <sample-rate> <Expression>
Where:
min-x: is the minimum value of x to begin plotting
max-x: is the maximum value of x to plot up to.
sample-rate: how close points are plotted to eachother. A sample rate of 0.1 is generally acceptable, it means take a sample of the graph at 0.1, 0.2, 0.3, 0.4, etc. Basically determines how much detail to include in the plot
Expression: the equation to plot
example:
java PlotEq -5 5 0.01 "sin(x)"
plots sin(x) between x=-5 and 5, taking samples every 0.01 steps in x.

问题是因为缺少 min-x、max-x 和 sample-rate 的参数。

【讨论】:

  • 感谢您的回答,但如果我可以将 plotter.java 更改为从 Eclipse 控制台运行,这样它就可以用作 UI(或我通常知道如何制作它们的 GUI,但我不知道如何在这里实现它们)
  • 如果你想从 Eclipse 运行它,在顶部的小“运行”图标旁边,单击小向下箭头。然后转到“运行配置”。双击左侧菜单中的“Java 应用程序”。选择项目和主类,然后转到“参数”选项卡。在那里,您可以在“程序参数”中添加参数。例如,只需添加 -5 5 0.01 "sin(x)"
  • 它适用于 PlotEq,但不适用于绘图仪格式不正确(这是第 4 个参数 -10 10 0.01 “/Users/Sepehr/Desktop/arg12.txt”),然后我选择不使用可选文件(-10 10 0.01),但随后显示“参数不足“我现在该怎么办?
  • 尝试建议的参数:-5 5 0.01 "sin(x)"
  • 绘图仪:java Plotter 见 PlotEq。请注意,您没有在参数中提供数学方程式。这是通过 GUI 完成的。您还可以指定一个包含方程式列表(每行一个)的文件以加载到程序中。示例:java Plotter -2 2 0.1 "c:\myequations.txt"
【解决方案2】:

我尝试查看代码,似乎您需要在命令行中输入 double 而您不需要,因此它会尝试读取空的 args 数组。尝试在你在命令行中执行三个双精度的类名之后写,它应该可以工作。

如果你想在 Eclipse 中运行同样的,使用 Eclipse 的菜单:运行 -> 运行配置 -> Java 应用程序 -> 鼠标右键单击 -> 新建 -> 参数 -> 添加一些你需要的参数。

请仔细阅读说明文件,它解释了一切。

【讨论】:

  • 看起来它实际上需要 3 个双参数。 minX、maxX 和频率。
  • 感谢您的回答,它现在可以工作了,但是如何更改 Plotter.java 中的代码,以便它可以在 Eclipse 控制台中运行,而无需像您说的那样设置参数?使它像 system.out.println("输入 x 的最大值和最小值,用逗号分隔") int max =nextint() 等等。
  • @karver jast 将// 放在每行 278-280 之前,并在它们下面添加:double minX = some your number;double maxX = some your number;double frequency = some your number; 但是如果你这样做,你必须知道你会做什么。 // 是注释,使代码对编译器不可见。
  • 成功了!非常感谢你还有一件事我想使用扫描仪来获取这些数字并且参数在字符串中如何将字符串更改为 double ?有没有类似的方法: double minx = s.nextline.parsetoDouble(arg[0]) ?
  • 我不明白你为什么试图让事情变得更复杂,但你有一个从字符串 278-280 中的字符串解析 double 的示例。你可以用显式字符串代替arg[0],如果它是字符串形式的double,你会得到你的double。如果不是 - 你会得到一个例外。这里的 arg[0] 指向你给程序的参数列表中的第一个字符串。
猜你喜欢
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 2015-10-19
  • 1970-01-01
  • 2021-06-30
  • 2016-06-10
  • 1970-01-01
  • 2017-06-13
相关资源
最近更新 更多