dize döndürmüyor Java uyguluyor ve biraz tuhaf bir sorunla karşılaşıyorum ya da sorunlarım var. Hata: Ben diyor aşağıdaki kodu java hat # derleme yaparkenJava, tarayıcı girdisinden
Ben return "not valid"
var yorumunu kaldırırsanız
missing return statement.
, bu derler. Ben A
ve B
olarak, bu geçerli değil döndürür ben girişi init_config
ve final_config
dize geçirdiğinizde diğer konu. Devreye girer
Şimdi burası. Diğer fonksiyonu (other("A", "B")
"C"
baskılı/döndürülür olduğunu belli getiri.
için "A"
ve "B"
geçerken Ama mesele benim giriş yöntemi ile yatıyor emin değilim. Benim init_config ve final_config için veri girebilirim dize değerleri, doğru olmalı mıyım? Tarayıcı iyi bir dize giriş yöntemi olup olmadığından emin değilim.Ancak, ben iki girişleri yazdırırsam iyi çalışır, bu yüzden veri kaybı olup olmadığından emin değilim veya dize referansı kaybolduğunda ben de init_config = in.nextLine()
ile init_config = in.next()
yerine çalıştı
. geçirilir ama hiçbir şey fark etmedi.
Kodu, fonksiyonun sonunda return "not valid"
ile derlemek gerekli mi yoksa bunu bir yöntemle atlayabilir miyim? Ve herhangi bir kayıp olmadan Scanner
giriş yöntemini kullanarak String verilerini nasıl iletebilirim?
import java.util.Scanner;
public class towerGen
{
public static void main(String[]args)
{
Scanner in = new Scanner(System.in);
String init_config, final_config;
System.out.print("Enter initial configuration: ");
init_config = in.next();
System.out.print("Enter final configuration: ");
final_config = in.next();
System.out.print(other(init_config, final_config));
}
public static String other(String src, String dest)
{
if (src=="A" && dest=="B")
return "C";
if (src=="B" && dest=="A")
return "C";
if (src=="B" && dest=="C")
return "A";
if (src=="C" && dest=="B")
return "A";
if (src=="A" && dest=="C")
return "B";
if (src=="C" && dest=="A")
return "B";
//return "not valid";
}
}
Dizeleri asla = = her zaman 'equals' yöntemini kullanarak sınayın. –
Teşekkür ederim. @ Jean-BaptisteYunès – mickey4691