繁体   English   中英

无法将数组返回给main方法

Cannot return array to main method

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我试图从wordCheck方法返回intArray并且错误找不到符号-当我尝试从数组中打印值时,变量intArray出现在第10,11和12行中。 我想知道我是在声明该方法错误还是没有使用正确的返回值,或者是否会使我的数组变差。 该数组还应该在扫描文本文档,以检查一个单词出现了多少次,并且想知道我的循环的编写方式是否实际上将返回正确的值。

import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
public class Assignment3
{
public static void main(String[] args)
throws FileNotFoundException {
    Scanner f = new Scanner( new File("README.txt"));
    int[] intArray = punctuation(f);
    System.out.println("The word the appears: "+ intArray[0] +" times");
    System.out.println("The word be appears: "+ intArray[1] +" times");
    System.out.println("The word to appears: "+ intArray[2] +" times");
}
public static int[] punctuation(Scanner f){
    ArrayList<String> tokens = new ArrayList();
    while (f.hasNext()){
        String currentToken = f.next();
        currentToken = currentToken.replace("-","")
        .replace("?","")
        .replace("!","")
        .replace(",","")
        .replace(".","")
        .replace(":","")
        .replace(";","")
        .replace("\'","")
        .replace("\"","");
        if (currentToken.length()>0){
            currentToken = currentToken.toLowerCase();
            tokens.add(currentToken);
        }
    }
    return  wordCheck(tokens, f);
}
public static int[] wordCheck(ArrayList<String> tokens, Scanner f){
    int word1Count = 0;
    int word2Count = 0;
    int word3Count = 0;
    while(f.hasNext()){
        boolean word1 = tokens.contains("the");
        if(word1 == true){
            word1Count++;
        }
        boolean word2 = tokens.contains("be");
        if(word2 == true){
            word2Count++;
        }
        boolean word3 = tokens.contains("to");
        if(word3 == true){
            word3Count++;
        }
    }
    int intArray[];
    intArray = new int[3];
    intArray[0] = word1Count;
    intArray[1] = word2Count;
    intArray[2] = word3Count;
    return intArray;
   }
}
1 个回复

你是不是调用puntuation()从主要方法方法,并且还wordCheck()从法puntuation()方法

public class Assignment3
{
public static void main(String[] args)
throws FileNotFoundException {
    Scanner f = new Scanner( new File("README.txt"));
    int[] intArray = punctuation(f);
    System.out.println("The word the appears: "+ intArray[0] +" times");
    System.out.println("The word be appears: "+ intArray[1] +" times");
    System.out.println("The word to appears: "+ intArray[2] +" times");
}
public static int[] punctuation(Scanner f){
    ArrayList<String> tokens = new ArrayList();
    while (f.hasNext()){
        String currentToken = f.nextLine();
        currentToken = currentToken.replace("-","")
        .replace("?","")
        .replace("!","")
        .replace(",","")
        .replace(".","")
        .replace(":","")
        .replace(";","")
        .replace("\'","")
        .replace("\"","");
        if (currentToken.length()>0){
            currentToken = currentToken.toLowerCase();
            tokens.add(currentToken);
        }

    }
    return  wordCheck(tokens, f);
}
public static int[] wordCheck(ArrayList<String> tokens, Scanner f){
int word1Count = 0;
int word2Count = 0;
int word3Count = 0;
for(String s : tokens){
    boolean word1 = s.contains("the");
    if(word1 == true){
        word1Count++;
    }
    boolean word2 = s.contains("be");
    if(word2 == true){
        word2Count++;
    }
    boolean word3 = s.contains("to");
    if(word3 == true){
        word3Count++;
    }
}
int intArray[];
intArray = new int[3];
intArray[0] = word1Count;
intArray[1] = word2Count;
intArray[2] = word3Count;
return intArray;
   }
}
1 将数组返回到main方法

我有一个关于将数组从一个方法返回到main的问题。 这是严重开始惹恼我,我不能围绕这个包裹我的大脑。 好像即使我在我的方法中更改了数组,当我在main中显示它时它会显示旧数组。 我正在尝试删除我的数组中的重复数字,我知道它有效,因为我已经在调试器中逐步完成它但在我返回它并返回main之后, ...

2 如何将int数组返回给main方法

当我返回numberGenerator ,我得到了一系列字母,数字和其他字符。 如何编辑代码以将9(int)返回给main方法? 我已经尝试过return numberGenerator[0]但是它不起作用。 提前致谢。 ...

3 单独的方法不将数组值返回给main

我被某些事情困住了,如果弄清楚了,我就可以完成剩下的学校作业。 我在将数组值返回到主数组时遇到麻烦。 我使用readData()方法将文本文件中的double值读取到数组double [] miles 。 如果我使用for循环在readData()方法内部进行打印,它将打印这些值,但是如果 ...

4 Java 无法识别 main 方法中的数组

当我尝试使用“.length”属性时,java似乎无法识别我的数组(拆分),我不知道为什么。 这两个语句都在 main 方法中,所以没有理由不工作。 当我将鼠标悬停在 eclipse 中的错误上时,它说对象“拆分”未定义并要求我创建它,尽管它已经初始化。 这是我的代码,错误在第 41 和 42 行 ...

5 在main方法中无法访问数组

我正在尝试创建一个类,该类以一种方法创建卡片组,而在另一种方法中, 我希望将卡片组洗牌1000次,然后打印到控制台。 (这是我的老师告诉我做的一个实验)我的问题是我在CardDeck方法内创建了数组,但无法在该方法之外访问它们。 我正在寻找一个对于编程新手来说很简单的答案,它可以理解并适用于 ...

6 在main()中返回数组

我在返回数组的值时遇到了麻烦,我知道我在错误地返回它,但是我不知道该怎么做。 请帮助。 这些是说明: 说明:编写一个称为dogTypes()的方法,该方法会提示3种不同的dog类型,将这些类型存储在名为dogs的本地数组中,并将该数组返回给main()中的调用语句。 一旦ma ...

7 无法通过main中的方法

我编写了一个类,该类具有用于txt checkIsFile的一些方法,读取其中有多少行,放入数组中并打印该数组,并且工作正常。 我在主类中称这些方法 我想添加以下方法并调用main,但我不知道该怎么办,有人可以帮助我吗? 谢谢大家 PS txt文件如下: ...

2011-03-04 18:38:04 2 143   java
8 从main返回变量的调用方法

当前有一个具有2个类的程序,一个类用于main方法,另一类用于字符串。 主要方法在下面,我试图调用方法getString,该方法只需要用户输入并存储为字符串。 在运行getString之后,我还想运行getReverse,它使用一种短算法来反转字符串,然后返回它。 字符串类: ...

9 将值返回到main方法

我正在构建一个计算和输出值的程序:5年后的利率为1%,价值范围为$ 1000- $ 20000(1000,2000,3000等),没有复合。 例)1000将是1050,而2000将是2100(公式A = P(1 + rt))。 在目前这一点上,我试图以这样的方式编写我的代码:运行时, ...

2014-01-29 19:47:11 4 94   java
10 返回Java中的main方法

如何返回主方法并再次执行整个程序? 我尝试了返回,但它只是结束执行。 这是代码: 如果目录为空,我想返回main方法。 我使用return,但是它没有从开始就返回:(关于如何返回main方法的任何想法吗?谢谢:) 这是整个主要方法:(很抱歉,如果时间太长) ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM