从main调用方法时出现不兼容的类型错误

时间:2019-10-16 17:16:56

标签: java methods

import static java.lang.System.*;
import static javax.swing.JOptionPane.*;
import static java.lang.Double.*;
import static java.lang.Integer.*;

public class MetodeØve  {

    public static void main(String[] args) {
        skrivTegn("hei",15);
    }

    private static void skrivTegn (char t, int antall) {
        for (int i =1;  i<=antall; i++)
            out.print(t);   
        }
    }
}

编译时出现“不兼容的类型:字符串无法转换为char”,而且我不明白我到底在做什么错。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

private static void skrivTegn (char t, int antall) {

此方法的第一个参数是char。呼叫时:

skrivTegn("hei",15);

您将第一个参数作为字符串传递。如果将方法更改为:

private static void skrivTegn (String t, int antall) {

它可能会更接近您想要的。

答案 1 :(得分:1)

字符只是一个字符。字符串包含多个字符。

在此处了解有关char的信息:https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html

private static void skrivTegn (String t, int antall) {
..
}

将参数更改为String,然后可以使用charAt()函数从特定位置的字符串中获取字符。

答案 2 :(得分:0)

char仅包含一个字符! 例如:skrivTegn('a',15)