2015-01-01 3 views
-2

Я делаю очень простой плагин bukkit для своего сервера только для личного использования. Я сделал команду под названием «игроки», когда кто-то с разрешением («broadcastcaster.players») отобразил список серверов. Я также хотел, чтобы он отображал игроков в игре в игре. Но я не знаю, как поставить их обоих друг на друга.Объединить две строки в Java

Мой код:

if(cmd.getName().equalsIgnoreCase("players")){ 
    Player player = (Player) sender; 
    if(sender instanceof Player){ 
    if(sender.hasPermission("broadcaster.players")){ 
     sender.sendMessage(player.getName()); 
    } 
    } 
} 

Где это говорит sender.sendMessage(player.getName());, я хотел бы, чтобы отобразить на одной и той же линии в режим игры. поэтому я попытался:

sender.sendMessage(player.getName()player.getGameMode()); 

это, конечно, никогда не работал, и я не знаю, что делать, может кто-нибудь предложить мне, что я мог сделать, мой код довольно грязный, но я довольно новый, так Я не знаю много чего, это мой первый проект кодирования, и мне нужна помощь!

Спасибо за ваше терпение

+0

Чтобы улучшить производительность, используйте это: new StringBuilder(). Append ("word1"). Append ("word2"). ToString(); –

ответ

0

Вы можете соединить две строки с помощью + оператора:

sender.sendMessage(player.getName() + ": " + player.getGameMode()); 
2

Чтобы объединить две строки в Java, вы можете использовать оператор +, например:

String first = "Hello, "; 
String second = "World"!; 
String str = first + second; 

str теперь равен first + second, что означает "Hello, " + "World!", что поэтому означает, что str теперь равен строке "Hello, World!".

В вашем случае, вы могли бы сделать:

sender.sendMessage(player.getName() + player.getGameMode()); 

Но, не было бы никакого пространства между ними, так что я бы рекомендовал добавить пробел или двоеточие между ними в целях удобочитаемости:

sender.sendMessage(player.getName() + ": " + player.getGameMode()); 

Если имя игрока является jojodmo, и их режим игры является SURVIVAL с sender.sendMessage(player.getName() + player.getGameMode());, сообщение jojodmoSURVIVAL будет отправлено.

Тем не менее, с sender.sendMessage(player.getName() + ": " + player.getGameMode());, будет отправлено сообщение jojodmo: SURVIVAL.


Чтобы получить дополнительную информацию о строках в Java, я рекомендую вам посетить the Java Documentation.

0

Java позволяет оператору + для конкатенации строк:

String hi = "hi"; 
String zebra = "kangaroo"; 
System.out.println(hi + ", Mr. " + zebra); // outputs hi, Mr. kangaroo. 

Во-вторых, поскольку строка является объектом Java, то есть метод, concat(), конкатенировать строки в другие строки.Если вы большой поклонник JQuery, как я, вы можете также рассмотреть следующие вопросы:

String hi = "hi"; 
String zebra = "kangaroo"; 
System.out.println(hi.concat(", Mr. ").concat(zebra)); // outputs hi, Mr. kangaroo. 
0

Если вы хотите отправить ему список игроков:

String send = ""; 
for(Player p1 : Bukkit.getOnlinePlayers() { 
send+=p1.getName() + "(" + p1.getGameMode() + ") "; 
} 
p.sendMessage(send); 

Это должно отправить игроку список всех игроков и их gamemodes.

+0

Это должно использовать StringBuilder вместо строки concat – hintss

Смежные вопросы