黑马程序员技术交流社区

标题: 一个技术问题?请回答详细些! [打印本页]

作者: 小柴    时间: 2014-5-30 21:23
标题: 一个技术问题?请回答详细些!
在1~100之间,用编程将不带5的数字打印,个位和十位数都不能有哦!
作者: 谢振宣    时间: 2014-5-30 22:41
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for (int i=1,n=0;i<=100;i++)
  6.                 {
  7.                         n=i/10;
  8.                         if ((i-n*10)!=5)//个位数不是5
  9.                         {
  10.                                 if(n!=5)//十位数不是5
  11.                                         System.out.print(i+"\t");
  12.                         }
  13.                 }
  14.         }
  15. }
复制代码

作者: 何堂红    时间: 2014-5-30 22:56
你应该先定义一个类型吧,根据经验,这个题一般是int 型,我按这个类型敲了个代码,供以参考:

  1. public class Test {

  2.         /*
  3.          *
  4.          * 需求:在1~100之间,用编程将不带5的数字打印,个位和十位数都不能有
  5.          */
  6.         public static void main(String[] args) {
  7.                 // 利用循环,取得1~100的整数 num
  8.                 for (int num = 1 ; num < 100 ; num++) {
  9.                         // 分别取得个位和十位
  10.                         int gw = num % 10;
  11.                         int sw = num / 10;
  12.                         // 条件判断,当个位和十位不含5时,输出打印
  13.                         if (gw !=5 && sw != 5) {
  14.                                 System.out.println(num);
  15.                         }
  16.                 }

  17.         }

  18. }
复制代码

作者: 田富丰    时间: 2014-5-30 23:55
  1.                 int num = 100;
  2.                 while(num != 0){
  3.                         String s = String.valueOf(num);        //转换成字符串
  4.                         if(!(s.contains("5"))){        //只要不包含5就打印
  5.                                 System.out.println(s);
  6.                         }
  7.                         num--;
  8.                 }
复制代码

作者: hamiguadjs    时间: 2014-5-31 00:26
  1. /*
  2. * 在1~100之间,用编程将不带5的数字打印。
  3. * 思路分析:
  4. * 对于1~100之间的含5的整数可以很容易计算得到一个有19个,如何提取到含5的整数是解决本题的关键。
  5. * 含5的整数中只有两种情况:
  6. * 第一种:整数中的个位数中含5,那么就想到取余数就可以得到个位数中的5。
  7. * 第二种:整数中的十位数中含5,那么就想到取商就可以得到整数中的5.
  8. * 那么,对于1~100的数,如何进行相应的运算,首先是要进行遍历,然后,是除以10或者取余10,这样
  9. * 这道编程题就可以解决了。
  10. */
  11. public class Test01 {
  12.         public static void main(String[] args){
  13.                
  14.                 //定义变量count进行计数,确定1~100之间出现含5的数的个数
  15.                 int count = 0;
  16.                 for (int i = 1; i <= 100; i++) {
  17.                         //进行条件判断,如果整数中含有5,就直接继续进行从for循环开始,而不执行之后的语句。
  18.                         if (i / 10 == 5 || i % 10 == 5) {
  19.                                 count++;
  20.                                 continue;                               
  21.                         }
  22.                         //输出1~100之间不含5的整数
  23.                         System.out.println(i);
  24.                 }
  25.                 System.out.println(count);
  26.         }
  27. }
复制代码

作者: 饥渴ing    时间: 2014-5-31 00:51
学习了,你们是哪来的题目做啊.
作者: 提菩--空    时间: 2014-5-31 01:14
import java.util.*;

public class DemoTest
{
         
        public static void main (String[] args
        {
                for (int i = 1; i <= 100; i++)
                {
                        String test = String.valueOf(i);
                        if(!(test.contains("5")))
                                System.out.print(i +" ");
                }        
        }
}
作者: More    时间: 2014-5-31 06:37
  1. package 演示;
  2. /**
  3. * 在1~100之间,用编程将不带5的数字打印,个位和十位数都不能有哦!
  4. * @author Administrator
  5. *
  6. */
  7. class Test {

  8.         public static void main(String[] args) {
  9.                 printing();
  10.         }
  11.         public static void printing(){
  12.                 for (int i = 1; i < 101; i++) {
  13.                         if((i/10)!=5 && (i%10)!=5)//条件
  14.                         System.out.println(i);
  15.                        
  16.                
  17.                 }
  18.         }
  19. }
复制代码

作者: 茂子    时间: 2014-5-31 14:52
这是我的基础测试题,学习了,这么多钟做法。。。。
作者: 小柴    时间: 2014-5-31 16:53
田富丰 发表于 2014-5-30 23:55

谢谢啊!明白了
作者: 小柴    时间: 2014-5-31 16:54
hamiguadjs 发表于 2014-5-31 00:26

谢谢啊,这下我会用了,看来我的基础运算符还不会用啊
作者: yxx    时间: 2014-6-1 13:52
  1. package com.sunshine.demo;

  2. public class DemoNum {
  3.         public static void main(String[] args) {
  4.                 int num = 100;
  5.                 while(num != 0){
  6.                         String strNum = String.valueOf(num);
  7.                         if(!strNum.contains("5"))
  8.                                 System.out.println(strNum);
  9.                         num--;
  10.                 }
  11.         }
  12. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2