"constructor Item in der Klasse Item kann nicht auf gegebene Typen angewendet werden;
erforderlich: java.lang.String, java.land.String, int, int, java.lang .String; found; keine Argumente; Grund: Tatsächliche und formelle Argumentlisten unterscheiden sich in der Länge "Konstruktor Item in der Klasse Item kann nicht auf gegebene Typen angewendet werden
Ist meine vollständige Fehlermeldung, ich versuche, eine Methode zu erhalten, um mir einen zufälligen Schwertnamen aus einer Arraylist zu nennen.
Zur Vereinfachung i klebte die Klassencodes in 2 verschiedenen Pastebins:
Class Swords
Class Item
edit: Code ...
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-Klasse:
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("########################");
}
}
Nicht gewohnt, hier zu posten, ich dachte, eine Pastebin wäre viel praktischer. Meine schlechte – Peebl
keine Sorgen ... danke für das Posten des Codes in Ihrer Frage. – brso05