Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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_String_For Loop_Input_Char - Fatal编程技术网

Java 打印特定字符

Java 打印特定字符,java,string,for-loop,input,char,Java,String,For Loop,Input,Char,我有一个字符串输入,这个输入有一个队名和分数,用一个空格隔开。e、 gbb 3,teamd 5冠军应该是teamd 为了获得得分最高的优胜者团队,我正在做以下工作: Scanner scanner = new Scanner(System.in); int cases = scanner.nextInt(); printWinnerTeam(cases); } public static void printWinnerTeam(int cases) { Sca

我有一个字符串输入,这个输入有一个队名和分数,用一个空格隔开。e、 g
bb 3
teamd 5
冠军应该是
teamd

为了获得得分最高的优胜者团队,我正在做以下工作:

Scanner scanner = new Scanner(System.in);
    int cases = scanner.nextInt();

    printWinnerTeam(cases);



}

public static void printWinnerTeam(int cases) {
    Scanner scanner = new Scanner(System.in);
    String str = "";
    String winnerTeam = "";
    int winnerScore = 0, countedChar = 0;

    for (int i = 0; i < cases; i++) {
        str += scanner.nextLine();
    }
    char[] arr = str.toCharArray();
    for (int i = 0; i < arr.length; i++) {
        countedChar++;
        if (arr[i] == ' ') {
            if (str.charAt(i + 1) > winnerScore) {
                winnerTeam = "";
                winnerScore = (int) str.charAt((int) i + 1);
                for (int j = 0; j < countedChar; j++) {
                    winnerTeam += str.charAt(j);
                }
                countedChar = 0;
            } else {
                //winnerTeam = "";
                countedChar = 0;
            }
        }
    }
    System.out.println(winnerTeam);
}
Scanner Scanner=新的扫描仪(System.in);
int cases=scanner.nextInt();
printWinnerTeam(案例);
}
publicstaticvoidprintwinerteam(int案例){
扫描仪=新的扫描仪(System.in);
字符串str=“”;
字符串winnerTeam=“”;
int winnerScore=0,countedChar=0;
对于(int i=0;iwinnerScore){
winnerTeam=“”;
winnerScore=(int)str.charAt((int)i+1);
对于(int j=0;j

但这不是完美的工作,这是打印连线的结果,如何让它像预期的那样工作

我还没有试过你的代码,但我想一个大问题是
str+=scanner.nextLine()的串联新行将直接追加到前一行号的末尾

看看这个

    Scanner sc = new Scanner(System.in);
    int bestScore = Integer.MIN_VALUE;
    String team = "Nothing entered";
    System.out.println("how many teams");
    int count = sc.nextInt();
    sc.nextLine();
    while (count-- > 0) {
        System.out.println("Entered team,score");

        String line = sc.nextLine();
        String arr [] = line.split(" ");
        // check size - TBD
        if (Integer.parseInt(arr[1]) > bestScore) {
            bestScore = Integer.parseInt(arr[1]);
            team = arr[0];
        }
    }

    System.out.println("nest team is " + team + " with a score of " + bestScore);

我还没有试过你的代码,但我想一个大问题是
str+=scanner.nextLine()的串联新行将直接追加到前一行号的末尾

看看这个

    Scanner sc = new Scanner(System.in);
    int bestScore = Integer.MIN_VALUE;
    String team = "Nothing entered";
    System.out.println("how many teams");
    int count = sc.nextInt();
    sc.nextLine();
    while (count-- > 0) {
        System.out.println("Entered team,score");

        String line = sc.nextLine();
        String arr [] = line.split(" ");
        // check size - TBD
        if (Integer.parseInt(arr[1]) > bestScore) {
            bestScore = Integer.parseInt(arr[1]);
            team = arr[0];
        }
    }

    System.out.println("nest team is " + team + " with a score of " + bestScore);

如果我必须这样做,我会这样做:

import java.util.*;
        public class winner {
           public static void main (String args []) {
            Scanner scanner = new Scanner(System.in);
            int cases = scanner.nextInt();

            printWinnerTeam(cases);
        }

   public static void printWinnerTeam(int cases) {
            Scanner scanner = new Scanner(System.in);
            String winnerTeam = "";
            String Team="";
            int winnerScore = 0, score = 0;

            for (int i = 0; i < cases; i++) {
                Team = scanner.next();
                score = scanner.nextInt();
                if(score > winnerScore){
                 winnerTeam = Team;
                 winnerScore = score;
                }

            }
            System.out.println("Winner team" + winnerTeam + "Score:" + winnerScore);
        }
        }
import java.util.*;
公开课优胜者{
公共静态void main(字符串参数[]){
扫描仪=新的扫描仪(System.in);
int cases=scanner.nextInt();
printWinnerTeam(案例);
}
publicstaticvoidprintwinerteam(int案例){
扫描仪=新的扫描仪(System.in);
字符串winnerTeam=“”;
字符串组=”;
int winnerScore=0,分数=0;
对于(int i=0;iwinnerScore){
winnerTeam=团队;
winnerScore=分数;
}
}
System.out.println(“赢家团队”+winnerTeam+”分数:“+winnerScore”);
}
}

如果我必须这样做,我会这样做:

import java.util.*;
        public class winner {
           public static void main (String args []) {
            Scanner scanner = new Scanner(System.in);
            int cases = scanner.nextInt();

            printWinnerTeam(cases);
        }

   public static void printWinnerTeam(int cases) {
            Scanner scanner = new Scanner(System.in);
            String winnerTeam = "";
            String Team="";
            int winnerScore = 0, score = 0;

            for (int i = 0; i < cases; i++) {
                Team = scanner.next();
                score = scanner.nextInt();
                if(score > winnerScore){
                 winnerTeam = Team;
                 winnerScore = score;
                }

            }
            System.out.println("Winner team" + winnerTeam + "Score:" + winnerScore);
        }
        }
import java.util.*;
公开课优胜者{
公共静态void main(字符串参数[]){
扫描仪=新的扫描仪(System.in);
int cases=scanner.nextInt();
printWinnerTeam(案例);
}
publicstaticvoidprintwinerteam(int案例){
扫描仪=新的扫描仪(System.in);
字符串winnerTeam=“”;
字符串组=”;
int winnerScore=0,分数=0;
对于(int i=0;iwinnerScore){
winnerTeam=团队;
winnerScore=分数;
}
}
System.out.println(“赢家团队”+winnerTeam+”分数:“+winnerScore”);
}
}

如何简化它,但只需边走边处理。如果输入的行分数最大,则存储编号和团队名称-使用String.split(“,”);我没有试过你的代码,但我想一个大问题是
str+=scanner.nextLine()的串联新行将直接添加到前几行的末尾。
编号
@ScaryWombat确实是的,我会跳出框框思考,我的问题是
+=
,谢谢,请随意让它接受答案如何简化它,但只需边走边处理。如果输入的行分数最大,则存储编号和团队名称-使用String.split(“,”);我没有试过你的代码,但我想一个大问题是
str+=scanner.nextLine()的串联新行将直接添加到前几行的末尾。
编号
@ScaryWombat确实是的,我会跳出框框思考,我的问题是
+=
,谢谢,欢迎接受answer@AndyTurner谢谢,我需要清理屏幕对不起,你知道怎么了吗,要在我的代码中获得运行时错误?@android在Eclipse中对我很好
多少情况2多少团队2进入团队,得分test1 2进入团队,得分me 23多少团队2进入团队,得分test2 4进入团队,再次得分me_23 me_再次得分me_
,谢谢,我需要清理我的屏幕对不起,你知道我的代码出现runTimeError是怎么回事吗?@android在Eclipse中运行得很好
多少情况2多少个团队2进入团队,得分test1 2进入团队,得分me 23多少个团队2进入团队,得分test2 4进入团队,再次得分me 23 me_再次得分me_