Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的Java应用程序无法编译_Java - Fatal编程技术网

我的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,而不是>=。希望这有帮助。此外,如果答案有帮助,请通过接受答案来结束问题。