/up [값] 같은 명령어에서 값에 입력한 수를 인식하는 방법이 있나요?
명령어 발생 이벤트에서 args부분 String배열에 명령의 인수가 배열의 형태로 들어가게 되요. 그래서 0번째 인수를 얻으려면 args.length로 배열 범위를 검사한 후에 Integer.parseInt로 int형으로 바꾸어 주면 되요. 이때 int형이 아닌 값이 들어온 경우에는 NumberFormatException을 발생시키기 때문에 이 예외도 잘 처리해야 합니다.
예시구문 알려주실수 있나요?
@Override
public boolean Execute(CommandSender sender, String label, String[] args) {
// /flat 과 같이 따라붙은 인수가 없는 경우 범위검사를 통해 거름
if(args.length != 1) {
sender.sendMessage(ChatColor.YELLOW + "Usage: /flat [target altitude]");
return true;
}
else {
try {
//String형태를 int형으로 바꿈
int altitude = Integer.parseInt(args[0]);
catch(NumberFormatException e) {
//인수가 정수가 아닌 경우(숫자가 아닌 문자가 포함된 경우) 예외 발생
sender.sendMessage(ChatColor.RED + "Cannot parse altitude: " + args[0]);
감사합니다
건축
KHC
2024-10-25
2
2024-10-10
dbasd12
2024-10-09
레드스톤
노트블럭전문가
2024-10-08
1
팁
물귀신
2024-10-06
3
미호73
2021.02.01명령어 발생 이벤트에서 args부분 String배열에 명령의 인수가 배열의 형태로 들어가게 되요. 그래서 0번째 인수를 얻으려면 args.length로 배열 범위를 검사한 후에 Integer.parseInt로 int형으로 바꾸어 주면 되요. 이때 int형이 아닌 값이 들어온 경우에는 NumberFormatException을 발생시키기 때문에 이 예외도 잘 처리해야 합니다.
neinerror
2021.02.02예시구문 알려주실수 있나요?
미호73
2021.02.02@Override
public boolean Execute(CommandSender sender, String label, String[] args) {
// /flat 과 같이 따라붙은 인수가 없는 경우 범위검사를 통해 거름
if(args.length != 1) {
sender.sendMessage(ChatColor.YELLOW + "Usage: /flat [target altitude]");
return true;
}
else {
try {
//String형태를 int형으로 바꿈
int altitude = Integer.parseInt(args[0]);
}
catch(NumberFormatException e) {
//인수가 정수가 아닌 경우(숫자가 아닌 문자가 포함된 경우) 예외 발생
sender.sendMessage(ChatColor.RED + "Cannot parse altitude: " + args[0]);
}
}
return true;
}
neinerror
2021.02.02감사합니다