【问题标题】:I want to print input value into method我想将输入值打印到方法中
【发布时间】:2017-02-04 12:22:52
【问题描述】:

我想把“point”打印成“printMethod”方法。比如“Player name is 迈克尔点是 2000 和球员位置 1" 我该怎么做?有没有合适的方法可以轻松做到这一点。我可以通过创建一个新方法来做到这一点,但它是如此潦草。

      public class Test{
        public static void main(String[] args){
        int returnPosition = calculatePosition(2000);
        printmethod("Michael" , returnPosition);

        returnPosition = calculatePosition(900);
        printmethod("Mark"  , returnPosition);

        returnPosition = calculatePosition(800);
        printmethod("Halk" , returnPosition);

        returnPosition = calculatePosition(700);
        printmethod("Albion" , returnPosition);

        returnPosition = calculatePosition(600);
        printmethod("Cristine" , returnPosition);

        returnPosition = calculatePosition(500);
        printmethod("Emma" , returnPosition);

        returnPosition = calculatePosition(400);
        printmethod("Prince" , returnPosition);

        returnPosition = calculatePosition(300);
        printmethod("Jason" , returnPosition);

        returnPosition = calculatePosition(200);
        printmethod("Tim" , returnPosition);

        returnPosition = calculatePosition(100);
        printmethod("Bob" , returnPosition);

        returnPosition = calculatePosition(50);
        printmethod("Jackson" , returnPosition);
    }
    public static void printMethod(String playerName, int position){
        System.out.println("Player name is "+playerName+  " Point was " +point+ " and player position " +position );
    }
    public static int calculatePosition(int position){
        if (position > 1000){
            return 1;
        }else if (position > 500 && position < 1000 ){
            return 2;
        }else if (position > 100 && position < 400){
            return 3;
        }else{
            return 4;
        }
    }
}

【问题讨论】:

  • 更改原型后可以在printmethod()中传递点
  • 我不明白..我看到了位置的计算,但是你在哪里以及如何计算“点”?
  • 点尚未使用。点表示我的输入数据(2000,900,800 等)。我想将点用于“printMethod”方法进行输出。 @smoggers
  • point IntetegrArray 的类型是什么

标签: java treemap


【解决方案1】:

我宁愿这样做

import java.util.Map;
import java.util.TreeMap;

public class Test {

    public static void main( String[] args ) {

        Map<String, Integer> playersList = new TreeMap<>();

        playersList.put( "Michael", 2000 );
        playersList.put( "Mark", 900 );
        playersList.put( "Halk", 800 );
        playersList.put( "Albion", 700 );
        playersList.put( "Cristine", 600 );
        playersList.put( "Emma", 500 );
        playersList.put( "Prince", 400 );
        playersList.put( "Jason", 300 );
        playersList.put( "Tim", 200 );
        playersList.put( "Bob", 100 );
        playersList.put( "Jackson", 50 );

        playersList.forEach( ( playerName, points ) -> {

            printMethod( playerName, points, calculatePosition( points ) );
        } );
    }

    public static void printMethod( String playerName, int point, int position ) {

        System.out.println( "Player name is " + playerName + " Point was " + point + " and player position " + position );
    }

    public static int calculatePosition( int points ) {

        int position = 4;

        if ( points > 1000 ) {
            position = 1;
        } else if ( points > 500 && points < 1000 ) {
            position = 2;
        } else if ( points > 100 && points < 400 ) {
            position = 3;
        }

        return position;
    }
}

【讨论】:

  • 感谢您的精彩回答。非常感谢。 @Ravi MCA
【解决方案2】:

经过深思熟虑并查看了您的代码,我得到了我的问题解决方案。谢谢大家。

    import java.util.Scanner;
    public class Practise {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Please enter player name: ");
    String playerName = input.nextLine();
    System.out.println("Please enter player score: ");
    int score = input.nextInt();
    int finalScore = calculateSection(score);
    displayM(playerName , finalScore , score);
}

public static void displayM(String playerName,int finalScore, int score) {
    System.out.println("Player name is " + playerName + " score was " + score+ " position is "+finalScore);
}

public static byte calculateSection(int score) {
    if (score >= 1000) {
        return 1;
    } else if (score >= 500 && score < 1000) {
        return 2;
    } else if (score >= 400 && score < 500) {
        return 3;
    } else {
        return 4;
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 2017-02-22
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    相关资源
    最近更新 更多