-
JAVA题目&答案
2012-10-09 16:51:55 -
java题目和C语言题目,面试题目,急用
2015-10-29 08:32:32![图片]... -
TestSort.java 题目:对10个数进行排序
2014-04-12 08:35:34//【程序28】 TestSort.java 题目:对10个数进行排序 1.程序分析:可以利用选择法, //即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第 二个元素与后8个进行比较,并进行交换。 import ...//【程序28】 TestSort.java 题目:对10个数进行排序 1.程序分析:可以利用选择法, //即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第 二个元素与后8个进行比较,并进行交换。 import javax.swing.JOptionPane; public class TestSortApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ArraySort as=new ArraySort(20); String s=JOptionPane.showInputDialog("请输入10个数据,并用空格间隔。。\n").trim(); String[] k= s.split(" "); for(int i=0;i<k.length;i++){ as.insert(Integer.parseInt(k[i])); } as.selectSort(); as.print(); } } class ArraySort{ int items; int[] array; ArraySort(int max){ array=new int[max]; items=0; } public void insert(int k){ array[items++]=k; } public void selectSort(){ int k=0; for(int i=0;i<items-1;i++){ k=i; for(int j=i+1;j<items;j++){ if(array[k]>array[j]){ k=j; } } if(i!=k){ array[i]^=array[k]; array[k]^=array[i]; array[i]^=array[k]; } } } public void print(){ for(int i=0;i<items;i++) System.out.print(array[i]+" "); } }
-
【华为OJ】【104-201301JAVA题目0-1级】
2016-05-23 06:37:23【华为OJ】【算法总篇章】【华为OJ】【104-201301JAVA题目0-1级】【工程下载】题目描述编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等, 并且,所有5的倍数必须在其中一...【华为OJ】【算法总篇章】
【华为OJ】【104-201301JAVA题目0-1级】
【工程下载】
题目描述
编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等, 并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以 上条件,返回true;不满足时返回false。
输入描述
输入输入的数据个数
输出描述
返回true或者false
输入例子
4 1 5 -5 1
输出例子
true
算法实现
import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * Author: 王俊超 * Time: 2016-05-05 16:31 * CSDN: http://blog.csdn.net/derrantcm * Github: https://github.com/Wang-Jun-Chao * Declaration: All Rights Reserved !!! */ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt")); while (scanner.hasNext()) { // 可以被5整除的数的和 int five = 0; // 可以被3整除的数的和,不包括同时可以被5整除的数 int three = 0; List<Integer> list = new ArrayList<>(); int num = scanner.nextInt(); for (int i = 0; i < num; i++) { int v = scanner.nextInt(); if (v % 5 == 0) { five += v; } else if (v % 3 == 0) { three += 3; } else { list.add(v); } } System.out.println(divide(five, three, list)); } scanner.close(); } /** * 找出一种方法将list中的元素分成两个部分,分别与m,n相加,得x,y。使得x=y,如果找到这种方法返回true,否则返回false * * @param m 初始值 * @param n 初始值 * @param list 集合 * @return true可以找对应方法,false无对应方法 */ private static boolean divide(int m, int n, List<Integer> list) { int other = 0; for (int i : list) { other += i; } // 和为偶数才可能划分 if ((m + n + other) % 2 == 0) { // 两个数之间的差 int diff = Math.abs(m - n); // 差与余下数的和相等,则可以划分 if (diff == other) { return true; } // 差比余下数的和在,则不可以划分 else if (diff > other) { return false; } else { int sum = (m - n + other) / 2; return canFind(list, sum); } } return false; } /** * 在list中能否找到一组数据使用得其和是sum * * @param list 整数集合 * @param sum 和 * @return true:可以找到,false:不可以找到 */ private static boolean canFind(List<Integer> list, int sum) { // System.out.println(sum + " " + list); int count = (int) Math.pow(2, list.size()); int[] mark = new int[list.size()]; for (int i = 0; i < count; i++) { int val = 0; for (int j = 0; j < mark.length; j++) { if (mark[j] == 1) { val += list.get(j); } } if (val == sum) { return true; } inc(mark); } return false; } /** * 二进制加一操作,二进制数用数组表示,从左到右是低位到高位 * * @param mark 等待加一的二进制数组 */ private static void inc(int[] mark) { int carry; int idx = 0; do { mark[idx]++; carry = mark[idx] / 2; mark[idx] %= 2; idx++; } while (carry > 0 && idx < mark.length); } }
-
做题java题目 对象 类
2016-07-04 08:50:40模拟一个简单的购房商贷月供计算器,假设按照以下公式计算出总利息和每月还款金额: 总利息=贷款金额×利率 每月还款金额=(贷款金额+总利息)/贷款年限 贷款年限不同,利率也不同,这里规定只有下图所示的3种年限、... -
【程序27】 SuShu.java 题目:求100之内的素数
2014-04-11 18:45:58//【程序27】 SuShu.java 题目:求100之内的素数 public class SuShuApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub for(int i=2;i;i++){ ...//【程序27】 SuShu.java 题目:求100之内的素数 public class SuShuApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub for(int i=2;i<=100;i++){ int flag=0; for(int j=2;j<=Math.sqrt(i);j++){ if(i%j==0) flag=1; } if(flag==0) System.out.print(i+" "); } } }
-
【程序31】 ArrayConverse.java 题目:将一个数组逆序输出。 。
2014-04-11 18:30:51//【程序31】 ArrayConverse.java 题目:将一个数组逆序输出。 。 public class ArrayConverseApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ... -
【程序49】 TestString2.java 题目:计算字符串中子串出现的次数
2014-04-12 08:36:29//【程序49】 TestString2.java 题目:计算字符串中子串出现的次数 import java.util.Arrays; import javax.swing.JOptionPane; public class TestString2App { /** * @param args */ public static void ... -
【程序33】YangHui.java 题目:打印出杨辉三角形(要求打印出10行如下图)
2014-04-12 08:42:03//【程序33】YangHui.java 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: // 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 public class YangHuiApp { /** * @param args */ public ... -
StChar.java 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
2014-04-11 18:45:25//【程序7】 StChar.java 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 //1.程序分析:利用while语句,条件为输入的字符不为'\n'. import java.io.*; import javax.swing.... -
Ex32.java 题目:取一个整数a从右端开始的4~7位。 程序分析:可以这样考虑:
2014-04-11 18:35:19//【程序32】 Ex32.java 题目:取一个整数a从右端开始的4~7位。 程序分析:可以这样考虑: import javax.swing.JOptionPane; public class Ex32App { /** * @param args */ public static void main... -
一道Java题目,请大虾们帮帮忙,谢谢了
2016-03-19 06:10:01用Java编写一个程序,对于输入的一段英语文本,可以统计: 1、该文本中有多少英语单词; 2、该文本中有多少不同的英语单词。 如,输入 I am a good student. I am in Zhengzhou. 则可以统计出有9个英语单词、7个不同... -
【程序9】 WanShu.java 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
2014-04-12 08:41:26//【程序9】 WanShu.java 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。 //例如6=1+2+3.编程 找出1000以内的所有完数。 import java.math.*; public class WanShuApp { /** * @param args ... -
【程序14】 TestDay.java 题目:输入某年某月某日,判断这一天是这一年的第几天?
2014-04-12 08:33:00//【程序14】 TestDay.java 题目:输入某年某月某日,判断这一天是这一年的第几天? //1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑... -
华为OJ——201301 JAVA 题目2-3级(棋盘走法)
2016-08-25 10:40:47题目描述 请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不... -
FenJie.java 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
2014-04-11 18:36:00//【程序4】FenJie.java 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数, //应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质... -
Nine.java 题目:输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
2014-04-11 18:43:31//【程序16】Nine.java 题目:输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。 public class NineApp { /** * @param args */ public static void main(String[] args) { // TODO ... -
这是一个比较有意思的Java题目,我却不太会
2016-03-07 12:09:11这个不太会写代码,知道怎么写的求教一下,大神们来帮帮忙吧,快死了⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ -
HuiWenShu.java 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同...
2014-04-11 18:39:30//【程序25】 HuiWenShu.java 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 import javax.swing.JOptionPane; public class HuiWenShuApp { /** * @param args *... -
【程序8】 TestAdd.java 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
2014-04-12 08:29:14//【程序8】 TestAdd.java 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 //例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 import javax.... -
【程序30】 ArraySort.java 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中...
2014-04-11 18:32:01//【程序30】 ArraySort.java 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 //1. 程序分析:首先判断此数是否大于最后一个数, public class ArraySortApp { /** * @param... -
Ex26.java 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个...
2014-04-11 18:34:23//【程序26】Ex26.java 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。 //1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第... -
【程序24】TestNumber.java 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位...
2014-04-12 08:34:04//【程序24】TestNumber.java 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 import javax.swing.JOptionPane; public class TestNumberApp { /** * @param args */ ... -
LingXing.java 题目:打印出如下图案(菱形) * *** ***** ******* ***** *** *
2014-04-11 18:40:16//【程序19】LingXing.java 题目:打印出如下图案(菱形) * *** ***** ******* ***** *** * //1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层... -
Java 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+....
2017-11-14 17:09:22Java 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/npublic class Test { public void getNum(double n){ if(n % 2 == 0){ // 偶数 System.out.println... -
【程序21】TestJieCheng.java 题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。
2014-04-12 08:33:30//【程序21】TestJieCheng.java 题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。 public class TestJieChengApp { /** * @param args */ public static void main(String[] args) { ... -
【程序11】 TestTN.java 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?...
2014-04-12 08:40:39//【程序11】 TestTN.java 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? //貌似很难得问题,又巧妙地三个for循环就得以解决。。。 public class TestTNApp { /** * @... -
【程序20】TestAdd2.java 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13..
2014-04-12 08:27:12//【程序20】TestAdd2.java 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13... //求出这个数列的前20项之和。 1.程序分析:请抓住分子与分母的变化规律。 public class TestAdd2App { /** * @param ... -
2014年京东校招笔试中的两道java题目
2013-09-11 00:22:39而第二题则是在考察java的泛型的复制问题,由于list是List类型的 而list2是List类型了,这里是两种不同类型的泛型了, 所以也就不存在所谓的类型自动转换问题了,要赋值的话,可以把list中的元素拿出来然后一个一个... -
ConditionOperator.java 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示, //60-89分...
2014-04-11 18:33:29//【程序5】 ConditionOperator.java 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示, //60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 ...
收藏数
92,915
精华内容
37,166