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 ...
随机推荐
- 解决js中post提交数据并且跳转到指定页面的问题总结
今天在开发中过程中遇到了这个问题,js中利用JQuery中的 $.post("url", id, function(){}); 这个方法是数据提交正常,但是后台处理完成之后跳转无法 ...
- [HEOI2015]兔子与樱花 树规+贪心
鬼能想到是个贪心.明明觉得是树规啊..又完美爆零.. 从叶子节点往上更新,能保证最优解(这块想了半天). 证明:当你的子树上有能删的点而你不删时,可能会对子树的根节点有利,最好的情况是使子树根节点由不 ...
- 史上最全的java随机数生成算法[转载]
package com.zuidaima.core.util; import java.util.Random; public class RandomUtil { public static fin ...
- 【NO.3-1】Jmeter - 在Windows配置HOSTS的方法
在Windows配置HOSTS 那么还记得Windows如何修改HOSTS文件吗? (1) 进入到C:\Windows\System32\drivers\etc (2) 通过”记事本”来打开hosts ...
- fstab设置开机挂载--鸟哥[阅读]
設定開機掛載: 手動處理 mount 不是很人性化,我們總是需要讓系統『自動』在開機時進行掛載的!本小節就是在談這玩意兒! 另外,從 FTP 伺服器捉下來的映像檔能否不用燒錄就可以讀取內容?我們也需要 ...
- FTP服务
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 "文传协议" 用于Internet上的控制文件的双向传输.同时,它也是一个应用程序( ...
- S7-200PLC间的PPI通信
一. PPI通信协议是一种主从式的通信协议,上位机即PC机为主,PLC为从.通信开始由计算机发起,PLC予以响应. 1).计算机按通信任务,用一定格式,向PLC发送通信命令. 2).PLC收到命令后, ...
- zyUpload---照片上传并显示效果
demo 下载连接
- ELK搭建指南(linux及Windows)
当前公司系统使用mongodb记录日志,最近想对日志做可视化分析,尝试了exceptionless,感觉扩展性不高,所以尝试搭建elk,过程如下: ELK核心由三部分组成: Elasticsearch ...
- 如何设计和实现一个web app
web app简介 web app其实不算是什么新鲜的东西,相比于传统的web和传统的app,web app这种web和app相结合的产物有的优点如下: 1. 开发上web app更有便捷性,ios开 ...