好吧,所以我有這個Java對象類有方法來創建帶有選項的揹包對象。我得到了所有方法的工作,但顯示信息的最終方法無法正常工作。它似乎不接受正在輸入的參數。 我已經包含對象類和跑步者類。Java亞軍類不會接受變量
/* Variables and parameters
* Intro "Welcome to BackPackMaker, the ultimate backpack making experience. NOW LET'S MAKE SOME BACKPACKS!!"
* Color(red,indigo,yellow,green,purple,orange,black,white)
* No. of straps(1,2)
* Size (small,medium,large,gigantic)
* Pouches(1,2,3,4,5)
* Water Bottle Slot(True,False)
* Do you like Spongebob(True,False) if yes, "Hello SpongeBob, my name is PatBack!"
*
* Use or statements in the if loop to keep things simple
* The if loop consists of checking to see whether one of the variables was used.
*
* All methods must be commented
*/
import java.util.Scanner;
public class Backpack {
//Setting up the private variables
private String color; //color of the backpack
private String cchoice;
private int straps; //amount of straps(some backpacks only have one)
private int strapsans;
private String size; //how big it is
private String tsize; //how big it is
private int pouches; //how many pouches there are
private int tpouch; //how big it is
private boolean slot; //if there is a water bottle slot on the side
private boolean waterslot;
private static int cost; //The cost based off of number of pouches and straps.
public Backpack(){
color = "red"; //color of the backpack
cchoice = "red";
straps = 2; //amount of straps(some backpacks only have one)
strapsans = 2;
size = "big"; //how big it is
tsize = "big";
pouches = 2; //how many pouches there are
tpouch = 2;
slot = true; //if there is a water bottle slot on the side
waterslot = true;
cost = 100; //The cost based off of number of pouches and straps.
}
public String pickc(){
String color = "blank";
Scanner input = new Scanner(System.in);
System.out.println("Please choose a color.");
System.out.println("You can have red, blue, yellow, green, purple, or orange");
color = input.nextLine();
String cchoice = color;
if(cchoice.equals("red") || cchoice.equals("blue") || cchoice.equals("yellow") || cchoice.equals("green") || cchoice.equals("purple") || cchoice.equals("orange"))
{
return cchoice;
}
else
{
System.out.println("please enter a valid choice");
return pickc();
}
}
public String getcolor(){
return cchoice;
}
public String picks(){
String size = "blank";
Scanner input5 = new Scanner(System.in);
System.out.println("What size do you want? Available sizes are small, medium, and large");
size = input5.nextLine();
String tsize = size;
if(tsize.equals("small") || tsize.equals("medium") || tsize.equals("large")){
return tsize;
}
else
{
System.out.println("please enter a valid choice");
return picks();
}
}
public String getsize(){
return tsize;
}
public int pouchnum(){
pouches = 0;
Scanner input2 = new Scanner(System.in);
System.out.println("How many pouches do you want?");
pouches = input2.nextInt();
int tpouch = pouches;
if(tpouch == 1 || tpouch == 2 || tpouch == 3 || tpouch == 4 || tpouch == 5){
System.out.println(tpouch);
return tpouch;
}
else
{
System.out.println("Enter a valid number between 0 and 5");
return pouchnum();
}
}
public int getpouchnum(){
return tpouch;
}
public boolean slotyes(){
boolean slots = true;
Scanner input4 = new Scanner(System.in);
System.out.println("Do you want a water bottle space? Enter 1 for yes or anything else for no");
int answer = input4.nextInt();
boolean waterslot = slot;
if(answer == 1){
slot = true;
return slot;
}
else if (answer == 2){
slot = false;
return slot;
}
return false;
}
public boolean getslot(){
return waterslot;
}
public int straps(){
straps = 0;
Scanner input3 = new Scanner(System.in);
System.out.println("How many straps do you want? You can have up to 2");
straps = input3.nextInt();
int strapsans = straps;
if(strapsans == 1 || strapsans == 2){
System.out.println(straps);
return strapsans;
}
else
{
System.out.println("1 or 2 straps only");
return straps();
}
}
public int getstraps(){
return strapsans;
}
public void displayinfo(){ //Displays the various values of the backpack.
System.out.println("Your backpack is a " + tsize + ", " + cchoice + " backpack with " + tpouch + "pouch(s) and " + strapsans + "strap(s).");
}
}
import java.util.Scanner;
public class BackPackMaker {
public static void main(String[] args)
{
System.out.println("Welcome to BackPack Maker, prepare for the ultimate midterm experience");
System.out.println("NOW LET'S MAKE SOME BACKPACKS!");
Backpack B1 = new Backpack();
B1.pickc();
B1.getcolor();
B1.picks();
B1.getsize();
B1.pouchnum();
B1.getpouchnum();
B1.straps();
B1.getstraps();
System.out.println(B1.slotyes());
B1.getslot();
B1.displayinfo();
}
}
請閱讀[這裏](https://stackoverflow.com/help/mcve)如何提供一個最小的完整示例 –
您能否提供預期的輸出和您目前正在獲取的內容? –
我的預期輸出是我會得到返回輸入內容的東西。 I.E你的揹包是藍色的。相反,我總是得到:你的揹包是一個大的,紅色的揹包,有2pouch(s)和2strap(s)。 – TPG