2016-08-11 95 views
-2

我是超新的Java,我需要知道如何从另一个类中获得一个字符串。如何从另一个类获得一个字符串

需要的字符串中的类:

package future.blue.fun.commands; 


import org.bukkit.Bukkit; 
import org.bukkit.ChatColor; 
import org.bukkit.command.Command; 
import org.bukkit.command.CommandExecutor; 
import org.bukkit.command.CommandSender; 
import org.bukkit.entity.Player; 
import org.bukkit.scheduler.BukkitScheduler; 
import org.inventivetalent.glow.GlowAPI; 

import future.blue.fun.main; 




public class SetGlow implements CommandExecutor { 





    @Override 
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) { 
     //THE STRING I NEED 
     Player player = Bukkit.getPlayer(arg[1]);..... 

     return false; 
    } 

} 

可有一个人帮我这个:

package future.blue.fun.tasks; 

import org.bukkit.Bukkit; 
import org.bukkit.entity.Player; 
import org.bukkit.scheduler.BukkitRunnable; 
import org.inventivetalent.glow.GlowAPI; 

public class RainbowTask extends BukkitRunnable { 

Player player = //I NEED THE STRING HERE; 

    @Override 
    public void run() { 
     GlowAPI.setGlowing(player, GlowAPI.Color.BLUE, player); 
     GlowAPI.setGlowing(player, GlowAPI.Color.RED, player); 
     GlowAPI.setGlowing(player, GlowAPI.Color.GREEN, player); 
     GlowAPI.setGlowing(player, GlowAPI.Color.YELLOW, player); 
    } 
} 

具有字符串中的类?对于bukkit编码

更多信息:

我使用的插口1.10.2

所有我想要的是循环使用蚀刻命令之间配置蜱代码

我需要的循环代码无限次运行

我需要此代码由另一个类中的命令执行并使用该类中的字符串。

+1

我看不到任何字符串。还有'//我需要这里的字符串''当你有'Player player'时没有任何意义# – SomeJavaGuy

+6

你对编码超级新手,所以你的第一次尝试就是为minecraft编写代码? –

+1

兔子家伙告诉你什么:也许你首先要花几个星期的时间学习Java的绝对基础知识,然后才去尝试**高级**主题?考虑在尝试进行跨栏赛前学习爬行。 – GhostCat

回答

0

超越您的字符串和球员的混乱......

我认为你正在处理的访问修饰符在Java中四个访问修饰符

  1. 默认
  2. 私人
  3. 公共及
  4. 受保护

默认方法或属性只能从包中的类访问。私人只能在一个班级内访问。受保护的可以从一个类中继承并继承。

正如我在你的代码中看到的类RainbowTask放在包future.blue.fun.tasks;并且您正尝试访问来自包future.blue.fun.commands中的SetGlow类的名为player的局部变量;

所以你必须让一个属性玩家变成一个类变量而不是本地变量。 ,你必须导入包future.blue.fun.commands.SetGlow;在RainbowTask或者你必须让他们在一个封装

让SEEE什么我做

//RainbowTask 
 

 

 
package future.blue.fun.tasks; 
 

 
import org.bukkit.Bukkit; 
 
import org.bukkit.entity.Player; 
 
import org.bukkit.scheduler.BukkitRunnable; 
 
import org.inventivetalent.glow.GlowAPI; 
 
import future.blue.fun.commands.SetGlow; 
 

 
public class RainbowTask extends BukkitRunnable { 
 

 
Player player; 
 
SetGlow sg=new SetGlow(); 
 

 
\t public void gerPlayer(){ 
 
\t \t player=sg.player; 
 
\t } 
 
\t 
 
    @Override 
 
    public void run() { 
 
     GlowAPI.setGlowing(player, GlowAPI.Color.BLUE, player); 
 
     GlowAPI.setGlowing(player, GlowAPI.Color.RED, player); 
 
     GlowAPI.setGlowing(player, GlowAPI.Color.GREEN, player); 
 
     GlowAPI.setGlowing(player, GlowAPI.Color.YELLOW, player); 
 
    } 
 
} 
 

 

 

 

 

 

 
//SetGlow 
 

 
package future.blue.fun.commands; 
 

 

 
import org.bukkit.Bukkit; 
 
import org.bukkit.ChatColor; 
 
import org.bukkit.command.Command; 
 
import org.bukkit.command.CommandExecutor; 
 
import org.bukkit.command.CommandSender; 
 
import org.bukkit.entity.Player; 
 
import org.bukkit.scheduler.BukkitScheduler; 
 
import org.inventivetalent.glow.GlowAPI; 
 

 
import future.blue.fun.main; 
 

 

 

 

 
public class SetGlow implements CommandExecutor { 
 

 

 
public Player player; 
 

 

 
    @Override 
 
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) { 
 
     player = Bukkit.getPlayer(arg[1]);..... 
 
     return false; 
 
    } 
 

 
}

注意: - 你必须确保按需方法被称为我们分配前值,否则它显示你空指针异常。

相关问题