两个简单的问题高手回答
在控制台输出1-35中随机7个数字,7个数字不能重复,用FOR循环不能是死循环
2用JAVA打印出菱形,在线等。。。。。
QQ414416757
----------------解决方案--------------------------------------------------------
public class Aaa {
public static void printImage(int n){
if(n%2 != 0){
for(int i=1; i<=n; i++){
int x = n/2 - i + 1;
if(x < 0){
x = -x;
}
for(int j=1; j<=x; j++){
System.out.print(" ");
}
int y = x + n - 2*x;
for(int k=x+1; k<=y ; k++){
System.out.print("*");
}
System.out.println();
}
}else{
System.out.println("不是一个有效的数!");
}
}
public static void main(String[] args) {
printImage(5);
printImage(6);
printImage(7);
printImage(8);
}
}
----------------解决方案--------------------------------------------------------
第一个问题没明白你说的什么意思
----------------解决方案--------------------------------------------------------
回复 楼主 qyw000
随机数是有重复的,无重复的不叫随机数 ----------------解决方案--------------------------------------------------------
package mypack;
public class GenRan{
private int[] arr=new int[7];
public GenRan(){
for(int temp:arr){
temp=0;
}
}
public int[] genRandom(){
int count=0;
while(count<7){
int i=(int)(Math.random()*35)+1;
if(!isExisted(arr,i)){arr[count++]=i;}
}
return arr;
}
private boolean isExisted(int[] arr,int k){
for(int temp:arr){
if(temp==k) return true;
}
return false;
}
public static void main(String[] args){
GenRan GR=new GenRan();
for(int tt:GR.genRandom()){
System.out.println(tt);
}
}
}
这是35选7的代码,菱形的还没想出来。。。。在线等高手出现
----------------解决方案--------------------------------------------------------
你要的菱形
程序代码:
import java.util.Scanner;
public class Test3_3 {
/**
* 叱为n
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("Enter the n:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n -i; j++)
{
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++)
{
System.out.print("*");
}
System.out.println();
}
for (int i = n - 1; i > 0 ; i--)
{
for (int j = 1; j <= n -i; j++)
{
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
public class Test3_3 {
/**
* 叱为n
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("Enter the n:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n -i; j++)
{
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++)
{
System.out.print("*");
}
System.out.println();
}
for (int i = n - 1; i > 0 ; i--)
{
for (int j = 1; j <= n -i; j++)
{
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
----------------解决方案--------------------------------------------------------
辛苦楼上的兄弟;了,十分感谢
----------------解决方案--------------------------------------------------------
35选7
import java.util.*;
class Ball {
ArrayList<Integer> balls = null;
public Ball() {
balls = new ArrayList<Integer>();
Random rand = new Random();
for(;balls.size()<7 ;) {
int number = rand.nextInt(35)+1;
if(balls.indexOf(number)==-1) {
balls.add(number);
}
}
}
public void showBalls() {
for(int i : balls) {
System.out.print(i +" ");
}
}
}
public class SevenBalls{
public static void main(String[] args) {
Ball ball = new Ball();
ball.showBalls();
}
}
打印空心菱形
public class PrintDiamond {
public static void main(String[] args) {
int diamondCol = 7;//菱形的行数
if(diamondCol % 2 != 1)
{
System.out.println("该数无法构成菱形的行数");
}
int triColNum = (diamondCol + 1)/2;//半菱形的行数
int i = 0;
//上三角
for(i = 0;i < triColNum;i++)
{
System.out.printf("%" + (triColNum - i) + "s","*");
if(i !=0)
System.out.printf("%" + 2*i + "s","*");
System.out.println();
}
//下三角
for(i -= 2 ;i >= 0;i--)
{
System.out.printf("%" + (triColNum - i) + "s","*");
if(i !=0)
System.out.printf("%" + 2*i + "s","*");
System.out.println();
}
}
}
[ 本帖最后由 lampeter123 于 2010-2-6 21:25 编辑 ]
----------------解决方案--------------------------------------------------------