`
unbounder
  • 浏览: 174723 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java的一些小问题1

    博客分类:
  • java
阅读更多
http://zangxt.iteye.com/blog/435711

1
public class SimpleQuestion {

    static boolean yesOrNo(String s) {
        s = s.toLowerCase();
        if (s.equals("yes") || s.equals("y") || s.equals("t")) {
            s = "true";
        }
        return Boolean.getBoolean(s);
    }

    public static void main(String[] args) {
        System.out.println(yesOrNo("true") + " " + yesOrNo("Yes"));
    }
}

输出是什么?

转载者评论:这个纯粹是用过就知道,不用过很难猜到

2
package test;

import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;

public class InstrumentedHashSet<E> extends HashSet<E> {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private int addCount = 0;

    @Override
    public boolean add(E e) {
        addCount++;
        return super.add(e);
    }

    @Override
    public boolean addAll(Collection<? extends E> c) {
        addCount += c.size();
        return super.addAll(c);
    }

    public static void main(String[] args) {
        InstrumentedHashSet<String> s = new InstrumentedHashSet<String>();
        s.addAll(Arrays.asList("Accordion", "Banjo", "Kazoo"));
        System.out.println(s.addCount);
    }
}

输出是什么?

转载者评论:理解了覆盖方法后剩下的就是要细心了,相较而言,这题比上面那道题简单,毕竟考的都是常见的东西。

3
public abstract class AbstractIterator<T> implements Iterator<T> {

    T next = nextElement();

    public boolean hasNext() {
        return next != null;
    }

    public T next() {
        if (next == null) {
            throw new NoSuchElementException();
        }
        T result = next;
        next = nextElement();
        return result;
    }

    public void remove() {
        throw new UnsupportedOperationException();
    }

    protected abstract T nextElement();

    private static Iterator<Character> test(final String s) {
        return new AbstractIterator<Character>() {

            private int cursor = 0;

            protected Character nextElement() {
                return cursor == s.length() ? null : s.charAt(cursor++);
            }
        };
    }

    public static void main(String[] args) {
        for (Iterator<Character> i = test("OPS"); i.hasNext();) {
            System.out.print(i.next());
        }
    }
}


输出的结果是什么?

转载者评论:开始想当然以为输出的就是ops,知道错了一想,应该是初始化的顺序问题,最开始初始化的时候先执行了T next = nextElement()这个方法,到之后了next=o,cursor=1,但是随后到了cursor =0这步,功亏一篑,cursor归零了。后来循环时,就多输出了一个o。

4
public class Searching {
    public static void main(String[] args) {
        String[] strings = { "0", "1", "2", "3", "4", "5" };
        List<Integer> integers = new ArrayList<Integer>();
        for (String s : strings) {
            integers.add(Integer.valueOf(s));
        }
        System.out.println(Collections.binarySearch(integers, 1, cmp));
    }

    static Comparator<Integer> cmp = new Comparator<Integer>() {
        public int compare(Integer i, Integer j) {
            return i < j ? -1 : (i == j ? 0 : 1);
        }
    };
}

打印结果是什么?

转载者评论:这个想了很久,按理来说正确输出应该是2,但是实际输出时-2。后来才知道是i==j这里有问题,做了一些测试,integer不要用==来做比较,特别是建立新对象的时候。
分享到:
评论

相关推荐

    java小程序包括小游戏程序

    这些小程序可以是各种类型的游戏,例如坦克大战、吃蘑菇游戏、乒乓球游戏和打字游戏,以及一些实用工具,如文本编辑器、文件操作功能等。对于初学者来说,学习和研究这些小程序是掌握Java编程基础和实践能力的好方法...

    java经典小程序

    在学习Java的过程中,经常会遇到一些经典的小程序练习,这些练习能够帮助初学者掌握基础语法和逻辑控制。以下是对给定的四个Java小程序的详细解释: 1. **判断闰年程序**: 这个程序的任务是根据给定的年份来判断...

    收集的一些比较实用的java的小项目3

    在这个名为"收集的一些比较实用的java的小项目3"的资源中,你将找到一系列有助于学习和提升Java编程技能的小型项目。这些项目涵盖了不同的应用领域,如管理系统、购物网站、聊天工具和论坛,为Java初学者及进阶者...

    一些比较有意思的Java小程序

    "一些比较有意思的Java小程序"这个标题暗示了我们将会探讨一系列趣味性强、易于理解的Java代码示例,这些示例通常适合Java初学者用来学习和实践编程概念。 在描述中提到的“不错的Java小程序”可能包括各种实用的小...

    一些Java小程序,总有适合的

    "一些Java小程序,总有适合的"这个标题暗示了我们有多个Java示例代码,这些代码可能涵盖了不同的功能和编程概念,非常适合初学者用来练习和理解Java编程。 描述中提到"奉献给那些初学者吧",这表明这些Java小程序...

    java小游戏 java小游戏

    1. **Java基础语法**:理解变量、数据类型、运算符、流程控制(如if-else、for、while循环)等基本概念是编写任何Java程序的起点。 2. **面向对象编程**:Java是面向对象的语言,因此在开发小游戏时,你需要了解类...

    java小游戏开发代码

    除了`MyFrame`之外,描述中还提到其他小游戏可能不完整,这暗示压缩包可能包含了一些未完成或者需要进一步开发的代码片段。这些未完成的游戏可以作为练习,让读者尝试自己去补充和完善,从而提升编程技能。 在学习...

    java版奔跑吧小恐龙小游戏

    1. **面向对象编程**:Java是一种面向对象的语言,游戏中的角色(如小恐龙)、障碍物、积分系统等都可以设计为不同的类,通过类的封装、继承和多态特性来构建游戏逻辑。 2. **图形用户界面(GUI)**:游戏界面通常...

    Java Double 精度问题总结

    ### Java Double 精度问题总结 在Java编程语言中,`double` 类型是一种用于表示64位浮点数的原始数据类型。虽然 `double` 提供了相对较高的精度,但在涉及精确数学运算(特别是涉及到小数值)时,由于其内部采用二...

    一些入门的java小程序

    在“一些入门的java小程序”这个主题中,我们可以探索以下几个关键知识点: 1. **基础语法**:Java的基础语法是学习的起点,包括变量声明、数据类型(如int、double、String等)、运算符、控制流(如if语句、for...

    java小程序百钱买百鸡问题

    java中常用的一些小程序百钱买百鸡,java小程序

    java小工具

    【描述】:根据提供的博文链接,虽然描述部分为空,但我们可以推断这篇博客可能分享了一些关于Java开发的小工具,比如JD-GUI和JarClassSearch。这些工具在Java开发过程中经常被用到,可以提供查看和理解Java字节码的...

    java拼图小游戏java拼图小游戏

    1. **Java基础语法**:游戏的基础架构是通过Java语言构建的,这包括类、对象、变量、条件语句、循环、函数等基本概念。初学者可以通过阅读代码来熟悉这些基本语法。 2. **图形用户界面(GUI)编程**:Java拼图游戏...

    学习java的一些小程序

    在"学习java的一些小程序"这个主题中,我们主要探讨的是通过编写和分析简单的Java程序来掌握这门语言的基础和核心概念。这些小程序可以帮助初学者建立扎实的编程基础,同时也适合有经验的开发者进行回顾和实践。 1....

    java小游戏jar

    总的来说,【Java小游戏Jar】是一个体现Java编程基础和游戏开发原理的实例,对于初学者来说,它提供了一个实际应用所学知识的平台,同时也能锻炼解决问题和逻辑思考的能力。通过分析和改进这样的项目,开发者可以...

    java小程序,java的一些小程序的源码,高手勿下

    在这些小程序中,可能会包含一些常见的功能,例如简单的数据输入输出、循环控制结构、条件判断逻辑等。这类源码对于编程初学者来说,是了解编程逻辑和程序结构的入门级材料。 在众多的Java小程序源码中,“excise”...

    Java比大小游戏

    1. **卡片布局**:在Java游戏中,卡片布局通常涉及到图形用户界面(GUI)的设计。Java提供了多种GUI库,如JavaFX或Swing,来帮助开发者创建这种布局。卡片布局可能是指用组件(如JLabel或ImageView)表示的虚拟卡片...

    Java案例开发和一些小技术

    本文将深入探讨"Java案例开发和一些小技术"这一主题,结合提供的文件资源,为初学者提供宝贵的指导。 首先,我们来看《JDK应用说明.doc》。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、解释...

    java的一些个人小工具包

    这个"java的一些个人小工具包"可能包含了一些开发者为了提高工作效率,自己编写的实用类库或函数集合。这些工具包通常包括各种通用功能,帮助开发者简化常见的编程任务。 首先,我们来了解一下Java工具包的一般构成...

    Java的小技巧(很小的)

    在Java开发过程中,经常会遇到一些细节问题,这些小技巧不仅能提高我们的工作效率,还能让我们编写的程序更加优雅。本文将详细介绍几个实用的Java小技巧及其应用场景。 #### 1. 设置面板不可拖动变化 在GUI设计中...

Global site tag (gtag.js) - Google Analytics