繁体   English   中英

我如何将 2 位数字识别为分隔数字?

[英]How do i recognize 2 digits as separated digits?

所以基本上作业说我需要从用户那里得到一个数字 'n' 并且对于 1 到 'n' 之间的所有数字,程序将打印所有除以 3的数字而没有残留&&仅打印两者(或一)他们的数字等于或小于 5 ,例如,如果用户给 22 程序打印3,12,21

这就是我现在所做的(我打问号的地方是我很难弄清楚该怎么做)所以这段代码还没有编译:

public static void main(String[] args) {
    Scanner get = new Scanner(System.in);
    int num;
    System.out.println("Enter A Random Number: ");
    num = get.nextInt();
    for (int i=1;i>0 && i<=num;i++) {
        if (i%3==0 && ?)
        System.out.println(i);

我对你问题的第二部分有点困惑,但基于第一部分和我从第二部分得到的内容(应该只打印等于或小于 5 的数字的数字总和)这里是您程序的代码:(它应该可以完美运行,如果您发现任何问题,请更新我)

    public static void main(String[] args) {
    Scanner get = new Scanner(System.in);
    int num;
    System.out.println("User please enter a number of your choice : ");
    num = get.nextInt();

    for(int x = 1 ; x < num ; x++){
    String number = ""+ x ;
    int sum = 0 ;

    for(int i = 0 ; i < number.length() ; i ++ ){
         sum +=number.charAt(i)-'0' ; }

    if(x % 3 == 0 && sum <= 5){
       System.out.println(x) ; }

    sum = 0 ; 
    }
   }

这会做。 因此,您必须遍历每个数字,因此,我将其转换为字符串,然后在该字符上匹配 1 到 5 的正则表达式,然后将其放回另一个字符串中并解决它。

public static void main(String[] args) {
Scanner get = new Scanner(System.in);
int num;
System.out.println("Enter A Random Number: ");
num =Integer.parseInt(get.nextLine());
for(int i =1;i<=num; i++){

    if(i%3==0){
        String input = Integer.toString(i);
        String toPrint = "";
        for(int j =0 ; j<input.length();j++){
            if(Character.toString(input.charAt(j)).matches("^[1-5]$")){
                toPrint+=Character.toString(input.charAt(j));
            }
        }
               //check the length to avoid cases like 30,60 etc.
                if(input.length()==toPrint.length()){
                System.out.println(toPrint);
        }

    }  
}

}

除以 3 无余数

如果您了解“无残留”的含义,那么我假设您熟悉模运算。 在编程中,我们有模运算符% ,它返回除法的余数。 所以25 % 8计算结果为1 您可以使用它来获取21 % 10评估为1的数字的数字,这正是个位数。 要得到十位数字,我们需要先除以 10,然后21 / 10 % 10计算结果为 2。这是有效的,因为整数除法会丢弃余数。

暂无
暂无

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

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