螺旋java代码实现 java螺旋输出数字

java怎样绘制螺旋曲线用极坐标方程螺旋java代码实现,一个点一个点的画 。给螺旋java代码实现你段螺旋java代码实现我以前写的程序螺旋java代码实现,虽然不是螺旋曲线螺旋java代码实现,但也差不多 。import java.awt.*;
import javax.swing.*;public class Spirograph extends JApplet {
public static void main(String s[]) {
JFrame frame = new JFrame();
frame.setTitle("Spirograph");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JApplet applet = new Spirograph();
applet.init();
frame.getContentPane().add(applet);
frame.pack();
frame.setVisible(true);
}
public void init() {
JPanel panel = new SpiroPanel();
getContentPane().add(panel);
}
}class SpiroPanel extends JPanel{
int nPoints = 1000;
double r1 = 60;
double r2 = 50;
double p = 70;
public SpiroPanel() {
setPreferredSize(new Dimension(400, 400));
setBackground(Color.white);
}public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.translate(200,200);
int x1=(int)(r1 r2-p);
int y1=0;
int x2;
int y2;
for (int i=0; inPoints; i) {
double t = i*Math.PI/90;
x2 = (int)((r1 r2)*Math.cos(t)-p*Math.cos((r1 r2)*t/r2));
y2 = (int)((r1 r2)*Math.sin(t)-p*Math.sin((r1 r2)*t/r2));
g2.drawLine(x1, y1, x2, y2);
x1 = x2;
y1 = y2;
}
}
}
java螺旋矩阵求助!package cn.com.micc.javatwo; //根据实际情况修改
//蜗牛螺旋矩阵 请仔细研究矩阵阶数变化时数据螺旋java代码实现的迁移规律
//上一阶矩阵会"整体"向右上或左下移动
public class AntiClockWiseArray {
public static int[][] getResult(int n) {
int[][] n1 = new int[1][1];
n1[0][0] = 1;
if (n == 1)
return n1;
int[][] result = new int[n][n];
int[][] temp = getResult(n - 1);
if (0 == (n - 1) % 2)
result = LeftDownMove(temp, n - 1); //n-1阶矩阵向左下移动
else
result = RightUpMove(temp, n - 1);//n-1阶矩阵向右上移动
return result;
}
public static int[][] LeftDownMove(int[][] in, int moment) {
int temp = moment * moment;
int nums = moment * 21;
int[][] out = new int[moment1][moment1];
//新矩阵补入上一阶矩阵螺旋java代码实现的值
for (int i = 0; imoment;i)
for (int j = 0; jmoment;j)
out[i1][j] = in[i][j];
//两个循环添加新矩阵新值
for (int k = 0; kmoment1;k)
out[0][k] = tempnums - k;
for (int l = 1; lmoment1;l)
out[l][moment] = tempnums - moment - l;
return out;
}
public static int[][] RightUpMove(int[][] in, int moment) {
int temp = moment * moment;
int nums = moment * 21;
int[][] out = new int[moment1][moment1];
//新矩阵补入上一阶矩阵的值
for (int i = 0; imoment;i)
for (int j = 0; jmoment;j)
out[i][j1] = in[i][j];
//两个循环添加新矩阵新值
for (int k = 0; kmoment1;k)
out[k][0] = temp1k;
for (int l = 1; lmoment1;l)
out[moment][l] = tempmoment1l;
return out;
}
public static void printArray(int[][] temp, int n) {
//格式化打印矩阵
for(int i = 0; in;i)
{
for(int j = 0; jn;j)
System.out.printf("]", temp[i][j]);
System.out.println();
}
}
public static void main(String[] args) {
printArray(getResult(6), 6); //输入阶数
}
}
output:
10阶
82 81 80 79 78 77 76 75 74 73
83 50 49 48 47 46 45 44 43 72
84 51 26 25 24 23 22 21 42 71
85 52 27 10987 20 41 70
86 53 28 11216 19 40 69
87 54 29 12345 18 39 68
88 55 30 13 14 15 16 17 38 67
89 56 31 32 33 34 35 36 37 66
90 57 58 59 60 61 62 63 64 65
91 92 93 94 95 96 97 98 99100
怎么编写JAVA螺旋矩阵?按照螺旋java代码实现你螺旋java代码实现的要求用Java编写螺旋java代码实现的螺旋矩阵程序如下:
public class N {
public static void main(String[] args) {
final int N=4;
int a[][]=new int[N][N];
int num=1;
int i=0,j=0,m=0;
if(N%2==0)
m=N/2;
else
m=N/2 1;
for(i=0;i=m-1;i){
for(j=i;j=N-i-1;j){
a[i][j]=num;
num;
}
for(j=i 1;j=N-i-1;j) {
a[j][N-i-1]=num;
num;
}
for(j=N-i-2;j=i;j--){
a[N-i-1][j]=num;
num;
}
for(j=N-i-2;j=i 1;j--){
a[j][i]=num;
num;
}
}
for(i=0;iN;i){
for(j=0;jN;j){
System.out.print(String.format("=",a[i][j]));
}
System.out.println();
}
}
}
运行结果:
1234
12 13 145
11 16 156
10987
java每日一题 。。互相学习 。。菜鸟求思路和方法 。求详细 。。螺旋数 。首先明白螺旋数的规律 。然后再理解代码 。
Scanner in = new Scanner(System.in);
int n = in.nextInt();
取得输入的数字
创建一个n * n 的数组 , 充当矩阵 。
int value[][] = new int[n][n];
int 型的数组,初始化的值是0,这也是后面的判断 value[row][col]==0 的原因
在n*n的循环中 ,
1代表的是 从左向右的方向 。
-1 代表的是 从上向下的方向 。
-2 代表的是 从右向左的方向 。
2代表的是 从下向上的方向 。
首先是 从左向右赋值 ,作为第一行来说,只在判断 col 1n就可以了,考虑到其它行,所以还要加上value[row][col 1]==0其它行也是同理 。
当到了最后一列,或是某一列已经有值了,更改方向 , 从上向下 。
从上向下,到了最后一行,或是某一行已有值了,再次更改方法,
依次类推 。
注意点,
1.不同的方向,边界值的不同 。是n还是0区分清 。
2.不同的方向,行与列的变量 , 是还是--区分清 。
3.方向的标识值,分清 。
java编程题1) 显示螺旋方阵 。螺旋方阵将1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列 。public class Cat {
/**
* @param args
*/
public static void main(String[] args) {
int number = 5;
int[][] arys = printCircle(number);
for (int i = 0; inumber; i) {
for (int j = 0; jnumber; j) {
System.out.print(arys[i][j]"\t");
}
System.out.println();
}
}
// 1 2 3 4 5
// 16 17 18 19 6
// 15 24 25 20 7
// 14 23 22 21 8
// 13 12 11 10 9
private static int[][] printCircle(int number) {
int[][] ary = new int[number][number];
int rightLen;
int downLen;
int leftLen;
int upLen;
int rightRow = 0;
int rightCol = 0;
int leftRow = number - 1;
int leftCol = number - 1;
int downRow = 1;
int downCol = number - 1;
int upRow = number - 2;
int upCol = 0;
int digit = 1;
while(number0){
rightLen = number;
downLen = number - 1;
leftLen = number - 1;
upLen = number - 2;
//Step 1: print to right
for(int i = 0, temp = rightCol; irightLen; i){
ary[rightRow][temp] = digit;
}
//Step 2: print to down
for(int j = 0, temp = downRow; jdownLen; j){
ary[temp][downCol] = digit;
}
//move left
for(int m = 0, temp = leftCol - 1; mleftLen; m){
ary[leftRow][temp--] = digit;
}
//move up
for(int n = 0, temp = upRow; nupLen; n){
ary[temp--][upCol] = digit;
}
number = number - 2;
//increas/decrease the row and column
rightRow;
rightCol;
downRow;
downCol--;
leftRow--;
leftCol--;
upRow--;
upCol;
}
return ary;
}
}
-----------------for 8 --------------
1 2 3 4 5 6 7 8
28 29 30 31 32 33 34 9
27 48 49 50 51 52 35 10
26 47 60 61 62 53 36 11
25 46 59 64 63 54 37 12
24 45 58 57 56 55 38 13
23 44 43 42 41 40 39 14
22 21 20 19 18 17 16 15
求解散 怎么用java实现一个5X5的螺旋队列刚在另一个回答完螺旋java代码实现,都是匿名螺旋java代码实现,也不知道是不是一个人 。
n为阶数螺旋java代码实现,必须是奇数螺旋java代码实现,这里是5.
public class Q {
static int[][] nums;
static int[][] go={{-1,0},{0,1},{1,0},{0,-1}};
static int to=0;
static int[] next;
static int n=5;
public static void main(String[] args) {
if(n%2==0){
return;
}
nums=new int[n][n];
for(int i=0;in;i){
for(int j=0;jn;j){
nums[i][j]=0;
}
}
int m=n/2;
int number=1;
next=new int[]{m,m};
while(next!=null){
int x=next[0];
int y=next[1];
nums[x][y]=number;
number;
next();
}
for(int i=0;in;i){
for(int j=0;jn;j){
System.out.print(nums[i][j] "\t");
}
System.out.println();
}
}
public static void next(){
int tto;
if(to==3){
tto=0;
}else{
tto=to 1;
}
int x=next[0] go[tto][0];
int y=next[1] go[tto][1];
if(nums[x][y]==0){
next[0]=x;
next[1]=y;
to=tto;
}else{
x=next[0] go[to][0];
y=next[1] go[to][1];
if(x=n||y=n){
next=null;
}else{
next[0]=x;
next[1]=y;
}
}
}
}
有问题请追问,没问题请采纳 。
【螺旋java代码实现 java螺旋输出数字】螺旋java代码实现的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于java螺旋输出数字、螺旋java代码实现的信息别忘了在本站进行查找喔 。

    推荐阅读