【问题标题】:Clarifying this Java "Activity" from "SamsTeachYourself Java"从“SamsTeachYourself Java”澄清这个 Java“活动”
【发布时间】:2014-07-02 13:17:18
【问题描述】:

在“SamsTeachYourself Java”一书中有一个任务是这样的:

“编写一个 Java 应用程序,将参数作为字符串,将其转换为浮点变量,将其转换为浮点对象,最后将其转换为 int 变量。使用不同的参数运行它几次,看看效果如何结果改变了。”

有人可以澄清一下这段文字,尤其是关于将参数作为字符串的 java 应用程序的第一部分吗?

【问题讨论】:

  • 从数据类型的命令行读取一个数字(将其转换为浮点数)作为字符串。
  • 这段文字的措辞可能会更好。所有 java 应用程序都将字符串数组作为参数(静态 main 方法)。您可以简单地通过命令行传递它:docs.oracle.com/javase/tutorial/getStarted/application

标签: java object casting arguments converter


【解决方案1】:

在Java程序中以

开头
public static void main(String[] args){

args 是 String[] 类型的变量(字符串数组)。您可以调用诸如 args.length() 之类的调用函数,该函数将返回对程序进行的参数数量。

当您调用它时,该数组将填充程序名称后面的内容。例如,如果您将程序称为:

java MyProgram ate my dog

变量 args 的长度为 3,包含值“ate”、“my”、“dog”。以下行都将返回 true。

args[0].equals("ate");
args[1].equals("my");
args[2].equals("dog");

这些其他答案也将有助于解释这一点

What is "String args[]"? parameter in main method Java

args.length and command line arguments

在像 Eclipse 这样的 IDE 中,您无需键入执行这些行的命令,但您可以将项目配置为使用一组预先确定的值运行。有关如何在 Eclipse 中执行此操作,请参阅另一个答案:Eclipse command line arguments


在代表浮点数(例如“1.98”)的字符串的输入之后,Java 包含许多有用的函数,用于将字符串解析为其他类型。其中许多包含在包装原始类型的类中。其中之一是对象类型 Integer,它包含一个名为 parseInt 的函数,该函数将 String 作为参数并返回一个 int。其他基本类型也存在类似的类,包括双精度和浮点数。

这些类型的变量可以从它们对应的原始类型构造。 Here 是 Integer 类的这些构造函数的在线文档。


最后,问题要求您将浮点数转换为整数。在java中,您可以像这样调用类型转换操作:
float a = 8.88;
int b = a; //error, loss of precision
int c = (int)a;

当将 float 或 double 类型转换为 int 时,值不会四舍五入,它会被截断。在我上面的示例中,变量 c 的值为 8,而不是 9。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多