[英]Java class won't compile
我是編程的新手,並且嘗試將PHP算法轉換為Java。
function isPrime($n)
{
$i = 2;
if ($n == 2) {
return true;
}
while ($i < $n) {
if ($n % $i == 0) {
return false;
}
$i++;
}
return true;
}
for ($i = 3; $i < 100; $i++) {
if (isPrime($i)) {
echo $i;
}
}
到目前為止,我唯一想出的就是這個。
public class Primtal {
public static boolean isPrime(int n)
{
int i = 2;
if (n == 2) {
return true;
}
while (i < n) {
if ( n % i == 0) {
return false;
}
i++;
}
return true;
}
for(int i = 3; i < 1000; i++){
if (isPrime(i)) {
System.out.print(i);
}
}
}
我意識到這種外觀確實很愚蠢,但我確實需要使它起作用。 我認為問題主要出在for循環上,因為即時通訊目前在此處出現錯誤的非法起始類型。 我不確定如何將其轉換為Java,我將不勝感激。
我相信您的代碼存在的問題是,您在class
聲明的中間放置了一個for
循環,這是不正確的-它必須位於某個方法內部。 在這種情況下,將其放在main()
似乎很合邏輯,因此在運行程序時將執行它。 也許是這樣的:
public class Primtal
{
public static boolean isPrime(int n)
{
int i = 2;
if(n == 2)
{
return true;
}
while(i < n)
{
if(n % i == 0)
{
return false;
}
i++;
}
return true;
}
public static void main(String[] args)
{
for(int i = 3; i < 1000; i++)
{
if(isPrime(i))
{
System.out.print(i);
}
}
}
}
(請注意,在代碼的后半部分添加了public static void main(String[] args)
。)
Oracle提供了有關如何構建Java程序以及該語言其他基礎知識的官方教程。 您可以在此處找到與main
方法相關的一種。 或者,從頭開始,完整的教程從此處開始。
你不能寫for
循環
for(int i = 3; i < 1000; i++){
if (isPrime(i)) {
System.out.print(i);
}
}
直接在class
。
我相信你想做的是有一個main
方法,其中你可以有for
循環
您的for循環需要位於某種方法內,因此可以將其放入main方法中:
public class Primtal {
public static void main(String [] args)
{
for(int i = 3; i < 1000; i++)
{
if (isPrime(i)) {
System.out.print(i);
}
}
public static boolean isPrime(int n)
{
int i = 2;
if (n == 2) {
return true;
}
while (i < n) {
if ( n % i == 0) {
return false;
}
i++;
}
return true;
}
}
問題是您的for
循環不在方法中。 將其包含在main
方法中。
public static void main(String[] args) {
// Your for loop here
}
另外,將print
更改為println
,否則所有數字將串聯在一起顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.