gpt4 book ai didi

java - 关于使用 Scanner 类创建类、设置方法和 String 数据类型的问题

转载 作者:行者123 更新时间:2023-12-01 13:13:29 25 4
gpt4 key购买 nike

所以我正在编写一个小程序来练习即将到来的考试,它涉及创建一个类文件和一个应用程序文件。基本上,我不确定我的设置是否有效,因为 Scanner 类需要用户输入,并且我不知道类似于 nextInt() 或 nextDouble() 方法的字符串方法。这是我到目前为止所写的内容的片段,我基本上想知道当我需要接受用户输入时如何使我正在使用的 set 方法起作用(我的一些 set 方法使用字符串而不是原始数据类型,例如int 或 double)。只是好奇一旦我接触到应用程序类,我当前的格式是否可以工作,或者我是否需要更改我的方法以使用数字输入而不是字符串,然后稍后使用 switch 或 if 语句之类的东西来更改这些数值到一个字符串。这是我到目前为止在类文件中所写的内容:

import java.text.DecimalFormat;

public class GuitarStore
{

DecimalFormat dollar = new DecimalFormat("$#,##0.00");

private int stockNumber;
private int modelID;
private int pickupType;
private String color;
private String brand;
private String pickupType
private double totalValueOfStock;

public GuitarStore()
{

stockNumber = 0;
modelID = 0;
pickupID = 0;
color = "";
brand = "";
pickupType = "";
totalValueOfStock = 0.0;

}

public GuitarStore(int stkNum, int modID, int pickID, String clor, String brnd,
double totValOfStock)

{

setStock(stkNum);
setModel(modID);
setPickup(pickID);
setColor(clor);
setBrand(brnd);
setTotalValue(totValOfStock);

}

public void setStock(stkNum)
{

if (stkNum > 1 && stkNum <= 500)
{
stockNumber = stkNum;
}

else
{
stockNumber = 0;
}
}

public void setModel(modID)
{
if (modID >= 1 && modID <= 1000)
{
modelID = modID;
}

else
{
modelID = 0;
}
}

public void setPickup(pickID)
{
if (pickID > 1 && pickID <= 3)
{
pickupID = pickID;
}

else
{
pickupID = 0;
}
}

public void setColor(clor)
{
if (clor == "red")
color = clor;
else if (clor == "blue")
color = clor;
else if (clor == "purple")
color = clor;
else if (clor == "green")
color = clor;
else if (clor == "white")
color = clor;
else
System.out.println("We do not carry that color");

基本上,我最好奇的是 setColor 方法以及一旦我到达程序的应用程序部分它是否/如何工作。在以前的项目中,我只使用数字而不是字符串,然后使用 switch 语句将其转换为字符串。这对我来说是全新的,我正在冒险尝试新的东西。由于我需要获取用户输入来确定他们想要什么颜色,所以我不确定如何解析它,因为我无法使用像我上面所说的 nextDouble() 或 nextInt() 这样的方法。这是完全的练习,所以如果有人能告诉我我是否有一个可靠的计划,我会很感激,以及一旦我进入设置方法的应用程序过程,我应该做什么来获取用户输入。谢谢,这里的每个人总是那么乐于助人! :)

最佳答案

Scanner 确实有一个 next 方法,它读取 token (无论类型如何)并将其作为字符串返回,以及 nextLine方法,它会达到您的期望。一般来说,我建议使用 nextnextLine 而不是 nextInt 和其他特定于类型的方法,因为如果输入不完全正确。

此外,您不应该使用 == 运算符来比较两个字符串。在Java中,==是一个引用(或浅层)比较,它本质上检查两个对象是否存储在计算机上的同一位置;这适用于原始类型(整数、 double 等),因为它们在语言中的表示方式。它不适用于字符串,因为字符串是 Java 中的复杂对象。相反,您应该使用 equals 方法,该方法将进行深度比较 - 检查所有数据是否相同。

关于java - 关于使用 Scanner 类创建类、设置方法和 String 数据类型的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com