「構造函數類Item中的Item不能應用於給定的類型;
必需:java.lang.String,java.lang.String,int,int,java.lang .String;找到;沒有參數;原因:實際和正式論證列表長度不同「構造函數Item類中的Item不能應用於給定的類型
是我的完整錯誤消息,我試圖讓一個方法從arraylist給我一個隨機劍名稱時調用。
爲了簡單起見我粘貼類代碼爲2個不同的pastebins:
Class Swords
Class Item
編輯:代碼...
import java.util.Random;
import java.util.ArrayList;
import java.util.HashMap;
/**
* Write a description of class Swords here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Swords extends Item
{
// instance variables - replace the example below with your own
private int dmg;
ArrayList<String> swordNames = new ArrayList();
HashMap<String,String> swordDesc = new HashMap<String,String>();
/**
* Constructor for objects of class Swords
*/
public Swords()
{
generateSwordName();
super(getRandomSword(), "asd", 40, 40, "Item");
dmg = generateRandom(2, 50);
}
public int generateRandom(int Start, int End)
{
int START = Start;
int END = End;
Random random = new Random();
long range = (long)END - (long)START +1;
long fraction = (long)(range * random.nextDouble());
int randomNumber = (int)(fraction + START);
return randomNumber;
}
public void generateSwordName()
{
swordNames.add("Blade of Slimer");
swordDesc.put("Blade of Slimer", new String("Blade of Slimer is a sword forged from the waste of Slimer, surprisingly durable."));
swordNames.add("Thorny Farris");
swordDesc.put("Thorny Farris", new String("A rose thorn was accidently dropped into a bottle of Farris, and a majestic sword emerged from the bottle"));
swordNames.add("The Sword of Leah");
swordDesc.put("The Sword of Leah", new String(" A sword carried by the Leah family for generations, later given the ability to cut through magic."));
swordNames.add("Grayswandir");
swordDesc.put("Grayswandir", new String("A sword used by Corwin of Amber. Grayswandir is associated with the moon and the night."));
swordNames.add("Werewindle");
swordDesc.put("Werewindle", new String("A sword used by Brand of Amber. Werewindle is associated with the sun and day."));
swordNames.add("Dull Sword");
swordDesc.put("Dull Sword", new String("A dull sword"));
}
public String getRandomSword()
{
int swordSize = swordNames.size()-1;
String randomSwords = swordNames.get(generateRandom(0,swordSize));
return randomSwords;
}
/**
* Skriver ut informasjon om itemet.
*/
public void print()
{
int minDmg = dmg - 2;
int maxDmg = dmg + 2;
System.out.println("########################");
System.out.println("# Name of item: " + super.getName());
System.out.println("# Item description: " + super.getDesc());
System.out.println("# Sword damage: " + minDmg + "-" + maxDmg);
System.out.println("# Item value: " + super.getValue() + " coins");
System.out.println("# Item weight: " + super.getWeight() + "kg");
System.out.println("########################");
}
}
Item類:
import java.util.HashSet;
/**
* Write a description of class Item here.
*
* @author Thomas andré G. Petersson
* @version 29.09.2016 | v0.1
*
* Item
*/
public class Item
{
private String itemName;
private String desc;
private int value;
private int weight;
private String action;
public Item(String itemName, String desc, int value, int weight, String action)
{
this.itemName = itemName;
this.desc = desc;
this.value = value;
this.weight = weight;
this.action = action;
}
// Getters for bruk av arvings klasser #############################
public String getName()
{
return itemName;
}
public String getDesc()
{
return desc;
}
public int getValue()
{
return value;
}
public int getWeight()
{
return weight;
}
public String getAction()
{
return action;
}
//##################################################################
/**
* Skriver ut informasjon om itemet.
*/
public void print()
{
System.out.println("########################");
System.out.println("# Name of item: " + itemName);
System.out.println("# Item description: " + desc);
System.out.println("# Item value: " + value + " coins");
System.out.println("# Item weight: " + weight + "kg");
System.out.println("########################");
}
}
不習慣張貼在這裏,我認爲一個pastebin會更加方便。我的壞 – Peebl
不用擔心...感謝您在問題中發佈代碼。 – brso05