JAVA基础第六组(5道题)
26.【程序26】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
package com.niit.homework1; import java.util.Scanner; /**
* @author: Annie
* @date:2016年5月21日
* @description:【程序26】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。 */
public class JudgeWeek { static Scanner reader = new Scanner(System.in);
public static void main(String[] args) {
String n;
do{
System.out.println("请输入第一个");
String num = reader.next();
num =smallChangBig(num);
printJudge(num);
System.out.println("是否继续(y/n)");
n = reader.next();
n=bigChangeToSmall(n);
}while("y".equals(n));
} private static void printJudge(String num) { switch (num) {
case "M":
System.out.println("今天是星期一");
break;
case "T":
if("T".equals(num)){
System.out.println("请继续输入第二个字母");
String n = reader.next();
n=bigChangeToSmall(n);
if("u".equals(n)){
System.out.println("今天是星期二");
}else if("h".equals(n)){
System.out.println("今天是星期四");
}
}
break;
case "W":
System.out.println("今天是星期三");
break; case "F":
System.out.println("今天是星期五");
break;
case "S":
if("S".equals(num)){
System.out.println("请继续输入第二个字母");
String n = reader.next();
n=bigChangeToSmall(n);
if("a".equals(n)){
System.out.println("今天是星期六");
}else if("u".equals(n)){
System.out.println("今天是星期天");
}
}
break;
default:
System.out.println("输入错误,请重新输入:");
break;
} }
/*将大写字母变成小写字母的方法*/
public static String bigChangeToSmall(String num){
String n= num.toLowerCase();
return n; } /*将小写字母变成大写字母的方法*/
public static String smallChangBig(String num){
String n =num.toUpperCase();
return n; } }
27.【程序27】
题目:求100之内的素数
package com.niit.homework1; /**
* @author: Annie
* @date:2016年5月21日
* @description:【程序27】 题目:求100之内的素数 (只能被一和本身整除的数) */
public class PrintPrime { public static void main(String[] args) {
PrintPrime p = new PrintPrime();
System.out.print("100以内的素数有:");
for (int i = 0; i <100; i++) {
if(p.prime(i)){
System.out.print(i+" ");
}
}
}
/*判断此数是不是素数*/
public boolean prime(int num){
if(num<2){
return false;
}
for (int j = 2; j <=Math.sqrt(num); j++) {
if(num%j == 0){
return false;
}
}return true; } }
28.
29.【程序29】
题目:求一个3*3矩阵对角线元素之和
1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
/**
*
*/
package com.niit.homework1; import java.util.Scanner; /**
* @author: Annie
* @date:2016年5月22日
* @description:【程序29】 题目:求一个3*3矩阵对角线元素之和 */
public class MatrixSum {
static Scanner in = new Scanner (System.in);
public static void main(String[] args) {
System.out.println("请输入你要求和的矩阵的行数n");
int n = in.nextInt();
int [][] arr = new int[n][n];
MatrixSum ms = new MatrixSum();
arr = ms.input(arr);
System.out.println("对角线之和是:"+ms.diagonalSum(arr,n));
}
/**
* @param arr
* 用于计算主对角线和次对角线之和的方法
*/
private int diagonalSum(int[][] arr,int n) {
int sum = 0 ;
if(n%2==0){//如果行数是偶数,这对角线中间不会重复相加
sum = sumD(arr);
}else{//如果是奇数行
int i=n/2;
sum = sumD(arr)-arr[i][i];
}
return sum;
}
/**
* 输入数据,并将数据存在数组中的方法
*/
private int[][] input(int [][] arr) {
for (int i = 0; i <arr.length; i++) {
for (int j = 0; j <arr[i].length; j++) {
System.out.println("请输入第 "+(i+1)+"行第"+(j+1)+"个数");
arr[i][j]=in.nextInt();
}
}System.out.println("原始数据是:");
print(arr);
return arr; } /**
* @param arr
* 打印二维数组的方法:
*/
private void print(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
} }
/**
* @param arr
* 用于计算行数是偶数的矩阵的对角线之和
*/
private int sumD(int [][] arr){
int sum=0;
for (int i = 0; i<arr.length; i++) {
sum = sum+arr[i][i];//累加主对角线
}
for (int i = 0; i < arr.length; i++) {
sum = sum+arr[i][arr.length-1-i];//累加次对角线之和
}
return sum;//偶数行对角线求和
}
}
30.【程序30】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,
依次后移一个位置。
package com.niit.homework1; import java.util.Scanner; /**
* @author: Annie
* @date:2016年5月18日
* @description:【程序30】 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 */
public class InsertNum {
public static void main(String[] args) {
int arr[]={1,4,6,9,13,16,19,28,40,100};
int copy[]= new int [11];
Scanner in =new Scanner(System.in);
System.out.println("请输入要插入的数字:");
int number = in.nextInt() ;
System.out.println("原始数据是:");
for (int i = 0; i < copy.length-1; i++) {
copy[i] = arr[i];
System.out.print(copy[i]+"\t");
} System.out.println();
System.out.println("插入数据是:");
printInsert(copy,number);
}
/**
* 用于插入数据的方法:
* */
private static void printInsert(int [] copy,int number){
int end =copy[9];
int temp1;
int temp2;
if(number>=copy[9]){
copy[10]=number;
}else{
for (int i = 0; i <copy.length; i++) {
if(copy[i]>number){
temp1= copy[i];
copy[i]=number;
for(int j=i+1;j<11;j++)
{
temp2=copy[j];
copy[j]=temp1;
temp1=temp2;
}
break;
}
}
for (int j2 = 0; j2 < copy.length; j2++) {
System.out.print(copy[j2]+"\t");
}
}
}
}
JAVA基础第六组(5道题)的更多相关文章
- Java实习生常规技术面试题每日十题Java基础(六)
目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...
- JAVA基础第十组(5道题)
46.[程序46] 题目:两个字符串连接程序 package com.niit.homework1; import java.util.Scanner; /** * @author: Annie * ...
- JAVA基础第八组(5道题)
36. 37. 38.[程序38] 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. package com.niit.homework1; import java.u ...
- JAVA基础第三组(5道题)
11 [程序11] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件 ...
- JAVA基础第四组(5道题)
16.[程序16] 题目:输出9*9口诀. 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列. package com. ...
- java基础知识4--数组的常用方法(Array)
先说一个idea编辑器的问题,编辑器的光标变成黑色光标无法移动,按一下insert键就好了. 数组是线性数据存储结构.它用牺牲自动扩展大小来换取与集合相比的唯一优势--查询效率的提升.本身是一种引用类 ...
- java基础(十六)----- equals()与hashCode()方法详解 —— 面试必问
本文将详解 equals()与hashCode()方法 概述 java.lang.Object类中有两个非常重要的方法: public boolean equals(Object obj) publi ...
- Java基础(六)包装类
一.包装类 JAVA是一种面向对象语言,java中的类把方法与数据连接在一起,但在JAVA中不能定义基本类型对象,为了能将基本类型视为对象进行处理,java为每个基本类型都提供了包装类. 对应关系如下 ...
- 加深Java基础,做了20道题选择题!简答题没做
2015-03-16 17:13 269人阅读 评论(1) 收藏 举报 分类: 笔试(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. 1,下列说法正确的是( A ) A )Jav ...
随机推荐
- 前端到后台ThinkPHP开发整站(3)
继续我的这个项目的第三晚的开发了,时间比较少,今晚写的代码不多,今晚仍然是造轮子写一个公共的控制器和一个公共的JS.直接上代码吧! 以下是一个公共的控制器,后台控制器都继承于它,构造函数中进行验证当前 ...
- cache buffer
//本文基本上是摘要了网络上各位大神对cache.buffer的总结,由于是800年前保存在本地,所以也已经忘了出处了.感谢各位大神. //本文对这2个概念的理解尚浅,如果愿意补充那就再好不过了. ...
- python编码问题一点通
一.了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的, ...
- HTML的基础复习
html是描述网页的一种语言,是通向web技术世界的钥匙, html指的是超文本标记语言 <html></html>之间的文本描述网页 <body></bod ...
- 使用进程池规避Python的GIL限制
操作系统 : CentOS7.3.1611_x64 python版本:2.7.5 问题描述 Python的GIL会对CPU密集型的程序产生影响,如果完全使用Python来编程,怎么避开GIL的限制呢? ...
- 【转】WEB网站常见受攻击方式及解决办法
一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法. 一.跨站脚本攻击(XSS) 跨站脚本攻击(XSS,Cross-site scripting)是 ...
- 网易校招C++研发工程师笔试题
选择题: mysql主从复制,server_id问题 mysql key_len 找以.conf为结尾的文件 问答题: 实现一个超大整数的类 并实现加减法功能 用string实现大数加减法(博客里以前 ...
- 如何统计iOS产品不同渠道的下载量?
一.前言 在开发过程中,Android可能会打出来很多的包,用于标识不同的商店下载量.原来觉得苹果只有一个商店:AppStore,如何做出不同来源的统计呢?本篇文章就是告诉大家如何做不同渠道来源统计. ...
- 自定义DialogAlert消息框
效果: 一.新建类CommomDialog 继承Dialog public class CommomDialog extends Dialog implements View.OnClickListe ...
- Windows桌面快捷图标上的小箭头的恢复
Windows桌面快捷图标上的小箭头的恢复.. 桌面快捷图标上的小箭头的恢复: cmd /k reg add "HKEY_CLASSES_ROOT\lnkfile" /v IsSh ...