java逆时针螺旋输出矩阵

import java.util.Scanner;
/**
 *@author Sun
 * @since
 * @version 1.0
 * 
 **/
public class test1 {
public static void main(String args[]) {
//获取传入的值
Scanner sc=new Scanner(System.in);
int nextInt = sc.nextInt();
int[][] arr = gettx(nextInt, nextInt);
//逆时针循环输出值
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
//如果小于10就在前面加0
if (arr[i][j] < 10) {
System.out.print("0"+arr[i][j] + "\t");
} else {
System.out.print(arr[i][j] + "\t");
}
}
System.out.println();
}
}

/** 
* 换行  获取值jInt   jyInt
*@author Sun
* @retuen 无返回
*/
public static int[][] gettx(int jInt, int jyInt) {

int jMax = jInt; 
int yyMax = jyInt;
int arr[][] = new int[yyMax][jMax];
int x = 0, y = 0;
int xMin = 0, yMin = 0;
int size = jMax * yyMax;
boolean flag = true;
for (int i = 0; i < size; i++) {
arr[y][x] = i + 1;
if ((y + 1) < yyMax && flag) {
y++;
} else if ((x + 1) < jMax && flag) {
x++;
} else {
if (y > yMin) {
y--;
} else if (x > (xMin + 1)) {
x--;
} else {
jMax--;
yyMax--;
xMin++;
yMin++;
y++;
flag = true;
}
}
if ((y + 1) == yyMax && (x + 1) == jMax) {
flag = false;
}
}
return arr;
}
}

时间: 2024-10-22 12:27:35

java逆时针螺旋输出矩阵的相关文章

java jtextfield文本输出

问题描述 java jtextfield文本输出 大家好,我在jtextfield写的文本,怎么随时打印出来?用jtextfield.gettext(),弄不出来! 解决方案 Java IO之有缓冲的文本输出java中如何在JTextField追加文本

java 使用poi输出word的换行问题

问题描述 java 使用poi输出word的换行问题 java中使用poi 写入word,在字符串中加什么符号可以换行?或者使用什么方法可以实现换行? "rn"已经试过了,输出word文档后并没有实现换行.求大侠指点下. 解决方案 http://haohaoxuexi.iteye.com/blog/2037193 解决方案二: poi 写数据到word 分不同的,office 2003 与office 2007的格式, office2007.docx文件, 换行时java后台作处理 X

java如何将输出在控制台的数据输出在textarea中

问题描述 java如何将输出在控制台的数据输出在textarea中 编写了一个用户界面程序 想实现点击查询按钮能够在textarea中显示数据库中内容的功能,关于数据库输出已经编写完成,代码如下 ```public class mysql { public void input(String databasename,String username,String password) { try { Class.forName("com.mysql.jdbc.Driver"); //加载

求下面java代码的输出。and WHY!!

问题描述 求下面java代码的输出.and WHY!! class T { public static void main(String[] args) { System.out.println("T的main方法"); } public void print() { System.out.println("T的print方法"); } } public class A extends T { public static void main(String[] arg

Java之JFrame输出Helloworld实例_java

本文实例讲述了Java之JFrame输出Helloworld的方法.分享给大家供大家参考.具体如下: JAVA的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化.最小化.关闭.Swing是一个用于开发Java应用程序用户界面的开发工具包.以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格.Swing开发人员只用很少的代码就可以利用Swing丰富.灵活的功能和模块化组件来创建优雅的用户界面. 说白了,你只需要很少的代码,就能利用JAVA

SQL输出矩阵

原文:SQL输出矩阵 数据库环境:SQL SERVER2008R2 需求:用SQL实现如下2个图中的矩阵.            图1和图2都是行列转换的另一个变形,下面直接贴上SQL脚本. 图1的SQL实现 /*利用系统的数字辅助表,生成1-25及每连续5个数一组的组号(从1开始)*/ WITH x0 AS ( SELECT ( number - 1 ) / 5 + 1 AS cn , number AS seq FROM master..spt_values WHERE number <=

Java使用输入框填写行列值并输出矩阵表

import javax.swing.*; public class Lesson23 { public static void main ( String [] args ) { int SHI; // 循环检测程序 ! do { //输入框检测程序 ! System.out.println( "" ); System.out.println( "" ); String Hang = JOptionPane.showInputDialog( " 请输入图

Log4j原理java控制台个性化输出加超链接标记

程序员都很懒,你懂的! 程序包名:package com.herman.test; import java.io.File; import java.io.PrintStream; /** * @see 自定义日志的输出测试 * @author Herman.Xiong * @date 2014年4月22日 14:22:18 * @version V1.0 * @since jdk 1.6 */ public class TestLog { //输入到文件 private static fina

java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)_java

log4j输出多个自定义日志文件 如果在实际应用中需要输出独立的日志文件,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢? 先看一个常见的log4j.properties文件,它是在控制台和test.log文件中记录日志: 复制代码 代码如下: log4j.rootLogger=DEBUG, stdout, logfile  log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.lay