首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JAVA中找到用户输入(int)的中间值和增加/减少一半的值

在JAVA中找到用户输入(int)的中间值和增加/减少一半的值
EN

Stack Overflow用户
提问于 2017-10-24 22:56:14
回答 1查看 159关注 0票数 0

我试图用Java实现一个程序,用户输入一个大于10的数字&另一个数字(不管是多少),然后它会列出用户输入的第一个数字,例如,如果是11,它会打印1-11,其中相应的数字在上半年(1-6)增加50,其余的(7-11)减少25。我有下面的代码,但是我很难理解逻辑/如何处理值的增加/减少。

同样,输出应该是这样的:

1 550 2 600 3 650 4 700 5 750 6 800 7 775 8 750 9 725 10 700 11 675

代码语言:javascript
复制
import java.util.Scanner; 


public class Periods2
{   

public static void main(String[] args) {
    Scanner reader = new Scanner(System.in);
    System.out.print("enter the number of days in a given period:");
    int numbers = 1;

   int number = Integer.parseInt(reader.nextLine());

   if(number < 10){
  System.out.print("the number of days doesnt meet the required criteria enter it again:");
  number = reader.nextInt();

   }

    System.out.print("enter the number of sharepoints:");
   int sharepoints = Integer.parseInt(reader.nextLine());



    while (numbers <= number && sharepoints > number){ 
        System.out.println(numbers + "  " + sharepoints);
        numbers++;
    }
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-24 23:44:49

找到输入的一半,在循环中,您可以向共享点添加50个,直到数字的值达到一半,然后再减少25个:

代码语言:javascript
复制
int half = (int) Math.ceil(number/2.0);


while (numbers <= number && sharepoints > number){ 

    System.out.println(numbers + "  " + sharepoints);

    if(numbers < half) {
    sharepoints += 50;    
    }
    else {
    sharepoints -= 25;    
    }
    numbers++;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46921249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档