public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int H = 0;
System.out.println("Enter the *insert whatever the formula thing is called*");
String Form = input.next();
//System.out.println(Form);
double Total = 0;
if (Form.contains("H") == true)
{
H = Form.indexOf("H", H);
//System.out.println(H);
if (Form.substring(H+1).matches("[1-999].*") == true)
{
String M = Form.substring(H+1);
System.out.println(M);
int M2 = Integer.parseInt(M);
Total = Total + (1.008 * M2);
System.out.println(Total);
}
else
{
if (Form.substring(H+1).matches("e") == true)
{
System.out.println("Found 'e'");
//System.out.println(H);
if (Form.substring(H+2).matches("[1-999].*") == true)
{
String M = Form.substring(H+2);
System.out.println(M);
int M2 = Integer.parseInt(M);
Total = Total + (4.003 * M2);
System.out.println(Total);
}
else
{
Total = Total + 4.003;
System.out.println(Total);
}
}
else
{
Total = Total + 1.003;
System.out.println(Total);
}
}
//----------------------------------------------------------------------
}
}
}
için tanınan, ancak heres bölüm im ilgili sorun yaşıyorsanız değildir olma:Değişken bütün kod ise Beyanı
if (Form.substring(H+1).matches("e") == true)
{
System.out.println("Found 'e'");
//System.out.println(H);
if (Form.substring(H+2).matches("[1-999].*") == true)
{
String M = Form.substring(H+2);
System.out.println(M);
int M2 = Integer.parseInt(M);
Total = Total + (4.003 * M2);
System.out.println(Total);
}
else
{
Total = Total + 4.003;
System.out.println(Total);
}
}
else
{
Total = Total + 1.003;
System.out.println(Total);
}
Ben bu küçük bölümü ile yaşıyorum sorun ben çalıştığınızda olmasıdır "He9" girmek için, tüm ilk if ifadesini atlar ve son başka ifadeye gider, ama "He" koyarsam ilk If If deyimi için çalışır ve ikincisini atlar ve 2. sonuncu sonuncu ifadeye gider (olması gerektiği gibi).
Ve herhangi biriniz merak ettiğiniz durumda, bu okul projesi için = P.
Değişkenleri büyük harflerle adlandıran kötü alıştırma. Sözdizimi vurgulayıcıları sınıf olduklarını düşünür;) –
Java adlandırma kurallarına uyun: değişkenler küçük harflerle başlar. Ayrıca, onlar için daha iyi isimler seçin. M, M2, H, vb. Neyi temsil eder. Onları doğru bir şekilde isimlendiremezseniz, bunun ne anlama geldiğini bilmediğiniz anlamına gelir ve biz de değiliz. Bunları açık bir şekilde isimlendiremezseniz, bu yönteminizin çok uzun olduğu ve bölünmesi gerektiği anlamına gelir. Son olarak 'if (someExpression == true)' gereksizdir. Sadece 'if (someExpression) 'seçeneğini kullanın –
Ayrıca 4.003, 1.003 vb. Sihirli numaraları için adlandırılmış sabitleri tanımlamanız gerekir. PI, PLANCK_CONSTANT veya AGE_OF_THE_CAPTAIN'i tekrar eden anlamsız sayılardan daha net görmek daha doğru olur. –