我的Java应用程序无法编译
以下是我目前的计划:我的Java应用程序无法编译,java,Java,以下是我目前的计划: import java.util.Scanner; public class SelfAssessment { public static void main(int num, int counter, String str) { Scanner sc = new Scanner(System.in); System.out.println("Enter a number:"); num = sc.nextInt(); SelfAss
import java.util.Scanner;
public class SelfAssessment
{
public static void main(int num, int counter, String str)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number:");
num = sc.nextInt();
SelfAssessment.function1(num);
SelfAssessment.function2(str);
}
//Collatz function
public static int function1(int num) (Collatz conjecture)
{
if(num < 1)
{
return -1;
}
else if(num >= 1)
{
while(num>=1)
{
if(num%2 == 1)
{
num = (num*3)+1;
System.out.println(num);
}
else if(num%2 == 0 && num != 1)
{
num = num/2;
System.out.println(num);
}
}
}
return num;
}
public static int function2(String str) (method to count up the lower-case e's and upper-case d's in a string)
{
System.out.println("Enter a string:");
str = in.NextLine();
char ch;
int lowereCount;
int upperDCount;
if(ch = 'e')
{
lowereCount++;
}
else if(ch='D')
{
upperDCount++;
}
}
public static int function3(int arr[], int findNum, int arraySize) (method to search for a certain character and return it (if found)
{
System.out.println("Enter numbers into array:");
Scanner sc = new Scanner(System.in);
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
for(int x=0; x<2; i++)
{
arraySize = Integer.parseInt(br.readLine());
}
for(int i=0; i<arraySize;i++)
{
arr[i] = sc.nextInt();
}
for (int i = 0; i<arr.length; i++)
{
if(arr[i] == findNum)
{
return i;
}
else if(arr[i] == findNum)
{
return -1;
}
}
}
}
我现在遇到的问题至少是我脑海中能想到的问题如下:
当试图运行它时,它说它找不到班级自我评估
在方法函数3中,它表示找不到InputStreamReader和BufferedStreamReader
我知道还有一些错误,但我现在想不起来
有人能检查一下我的代码,看看是否还有其他错误吗
>当试图运行它时,它说它找不到班级自我评估
可能是因为后面的问题
>在方法函数3中,它表示找不到InputStreamReader和BufferedStreamReader
您应该插入到顶层
import java.io.InputStreamReader;
import java.io.BufferedStreamReader;
当试图运行它时,它说它找不到班级自我评估
当JVM加载类时,它会查找公共静态字符串[]参数。
你错过了
public static void main(String[] args){}
你有
public static void main(int num, int counter, String str){}
第二期;
请导入以下内容
import java.io.InputStreamReader;
import java.io.BufferedStreamReader;
如果它不编译-从上到下读取编译器消息。他们准确地说出了问题所在。您是否使用Eclipse之类的IDE?对于问题1:你是如何运行这个程序的?对于问题2:您还没有导入可以在其中找到这些类的包。正如@Julien所指出的,如果您第一次使用Eclipse或Netbeans这样的IDE,速度会更快。如果您处于学习阶段,我强烈建议您这样做。是否有人也可以检查我的代码,看看是否还有其他错误?你应该这样做,我们可以帮助你解决错误,但你应该找到它们,这是你的应用程序,不是我们的,你应该调试,不是我们的。public static void mainnum,int counter,String str你希望你的程序怎么到这里来?那些悬空的括号应该是注释吗?使用//在代码中设置注释…哇。我应该知道,主要是这样的。另外,我现在修改了程序,因为我发现我不需要用户输入。但是现在,当我尝试运行第一个函数时,它只是继续循环。我需要在这个函数Collatz函数中使用for循环而不是while循环吗?@DanGoWildCzarnecki是的。。考虑在那里使用for循环。while循环检查num>=1和num=num/2;在while循环中永远不会返回0一次。您需要将其更改为num>1,而不是>=。希望这有帮助。此外,如果答案有帮助,请通过接受答案来结束问题。