ya lo pude solucionar...
solo era cambiar el retorno de carro por null.
Código [Seleccionar]
while(!caracter.equals(null))solo era cambiar el retorno de carro por null.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúwhile(!caracter.equals(null))
SerialPort puerto = new SerialPort();
List<String> listaPuertos;
Com com1;
listaPuertos = puerto.getFreeSerialPort();
String recibido = "";
String caracter = "";
for (String string : listaPuertos) {
System.out.println(string);
}
Parameters settings = new Parameters();
settings.setPort("COM14");
settings.setBaudRate(Baud._9600);
com1 = new Com(settings);
while(!caracter.equals("\n")){
caracter =com1.receiveSingleString();
recibido += caracter;
System.out.println(recibido);
}
}void setup ()
{
Serial.begin (9600);
}
void loop ()
{
for (int i=0;i<=10;i++)
{
Serial.println(i);
delay(1000);
}
}vive
usar a,b;
asignar b valor 5;
meta a; // Leer a
sumar b,a;
saque b; // imprime b
muere
public class Nodo {
int dato;
Nodo siguiente;
public Nodo(){
this.dato=0;
siguiente=null;
}
public Nodo(int n){
this.dato=n;
siguiente=null;
}
}import javax.swing.JOptionPane;
public class Lista {
public Nodo cabeza;
public Lista(){
this.cabeza=null;
}
public void insertarFinal(int info){
Nodo indice;
indice=cabeza;
if(indice==null){
cabeza= new Nodo(info);
} else{
while(indice.siguiente!=null){
indice=indice.siguiente;
}
indice.siguiente=new Nodo(info);
}
}
public void insertarInicio(int info){ //porque recibe el valor que va dentro del nodo
Nodo a= new Nodo(info);
a.siguiente=cabeza;
cabeza=a;
a=null;
}
public void eliminarCabeza(){
Nodo aux;
aux=cabeza;
cabeza=cabeza.siguiente;
aux.siguiente=null;
}
public void Mostrar(){
Nodo indice;
indice=cabeza;
while(indice!=null){
System.out.print("\n"+indice.dato);
indice=indice.siguiente;
}
}
}import javax.swing.*;
public class Principal {
public static void main(String[] args) {
int k, contk = 0, n, soldvivo;
Lista miLista = new Lista();
Nodo ind1;
Nodo ind2;
Nodo cabeza;
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el número de soldados"));
k = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el número de la muerte"));
for (int i = 0; i < n; i++) {
miLista.insertarFinal(i + 1);
}
soldvivo = n;
cabeza = miLista.cabeza;
ind1 = cabeza;
ind2 = cabeza;
if (k == 1)
{
while (soldvivo > 1)
{
miLista.eliminarCabeza();
soldvivo--;
}
}
else {
while (soldvivo > 1)
{
contk++;
if (contk == k)
{
if (ind1 == cabeza)
{
cabeza = cabeza.siguiente;
ind1.siguiente = null;
ind1 = cabeza;
ind2 = cabeza;
contk = 1;
}
else
{
while (ind2.siguiente != ind1)
{
ind2 = ind2.siguiente;
}
if (ind1.siguiente == null)
{
ind2.siguiente = null;
ind1 = ind2;
contk = 0;
}
else
{
ind2.siguiente = ind1.siguiente;
ind1.siguiente = null;
ind1 = ind2;
contk = 0;
}
}
soldvivo--;
}
if (soldvivo != 1)
{
ind1 = ind1.siguiente;
if (ind1.siguiente == null)
{
contk++;
if (contk == k)
{
while (ind2.siguiente != ind1)
{
ind2 = ind2.siguiente;
}
ind2.siguiente = null;
soldvivo--;
contk = 0;
}
ind1 = cabeza;
ind2 = cabeza;
}
}
}
}
System.out.print(cabeza.dato);
}
}
