2015-10-09 2 views
-7

Я новичок в Java, и у меня нет большого опыта программирования. Некоторое время я работал с этим кодом, и я не уверен, как заставить его работать.Смешивание разных типов

public class Bases { 
public static void main(String[] args) { 
String base = args[0]; 
char valid = args[0].charAt(0); 
char[] newvalid = { 'A', 'G', 'C', 'T'}; 
if (valid == newvalid) 
return valid; 
else 
System.out.println("Not a valid base"); 
}} 

Так вот мои вопросы: 1. Можно ли смешивать обугленный [] и символ? 2. И может ли кто-нибудь объяснить, почему вы «не можете вернуть значение из метода, тип результата которого недействителен»?

Любая помощь была бы оценена.

+5

Смешайте их как? Сравните их? Как вы сравниваете персонажа и многих персонажей? Как вы думаете, _cannot вернуть значение из метода, для которого тип результата равен void_? –

+3

Начните с учебника java, а не SO. Это похоже на проблемы 1-го дня. – csmckelvey

+0

Я думаю, что вы ищете [как проверить, содержит ли массив определенное значение] (http://stackoverflow.com/questions/1128723/how-can-i-test-if-an-array-contains-a -certain-значение). – azurefrog

ответ

0

Смешивание типов не является концепцией java, но вы можете сравнить, что вы ищите. Так как newvalid - это массив, который позволяет зациклить его и посмотреть, находится ли внутри него valid.

boolean contains = false; 
for (char c : newvalid) { 
    if (c == valid) { 
    contains = true; 
    break; 
    } 
} 
if (contains) { 
// do your stuff 
} 

не может возвращать значение из метода, результат которого тип является ничтожным

Означает, что в методе с обратной декларацией void вы не можете return значение, хммы, возможно, это именно то, что в сообщении ...

выделю код, чтобы вы могли понять

public static void main(String[] args) // Это ваш метод, увидеть недействительным как тип возвращаемого

.....

return valid; // Здесь вы пытаетесь вернуть char и это не допускается, так как он объявлен void

для решения проблемы компиляции, изменить return valid; к return;

+0

Большое спасибо за быстрый ответ. – LivingLegend